Blame configure.d/config_modules_agent

Packit fcad23
# -*- autoconf -*-
Packit fcad23
#
Packit fcad23
# generate empty files
Packit fcad23
#
Packit fcad23
# Create include file list for snmp_vars.h to use.
Packit fcad23
mibdir="agent/mibgroup"
Packit fcad23
if test ! -d agent; then
Packit fcad23
  mkdir agent
Packit fcad23
fi
Packit fcad23
if test ! -d agent/mibgroup; then
Packit fcad23
  mkdir agent/mibgroup
Packit fcad23
fi
Packit fcad23
j="$mibdir/mib_module_includes.h  $mibdir/agent_module_includes.h \
Packit fcad23
   $mibdir/mib_module_inits.h     $mibdir/agent_module_inits.h    \
Packit fcad23
   $mibdir/mib_module_shutdown.h  $mibdir/agent_module_shutdown.h \
Packit fcad23
   include/net-snmp/agent/mib_module_config.h                     \
Packit fcad23
                   include/net-snmp/agent/agent_module_config.h   \
Packit fcad23
   $mibdir/mib_module_dot_conf.h  $mibdir/agent_module_dot_conf.h"
Packit fcad23
Packit fcad23
for i in $j; do
Packit fcad23
  rm -f $i
Packit fcad23
  echo "/* This file is automatically generated by configure.  Do not modify by hand. */" > $i
Packit fcad23
done
Packit fcad23
Packit fcad23
#
Packit fcad23
# Do hairy agent module processing.
Packit fcad23
#
Packit fcad23
AC_MSG_CHECKING([for and configuring mib modules to use])
Packit fcad23
Packit fcad23
# set up the CPP command
Packit fcad23
MODULECPP="$CPP $PARTIALTARGETFLAGS $CPPFLAGS -DNETSNMP_FEATURE_CHECKING -I${srcdir}/include -I${srcdir}/agent/mibgroup"
Packit fcad23
if test "x$enable_mfd_rewrites" = "xyes"; then
Packit fcad23
  MODULECPP="$MODULECPP -DNETSNMP_ENABLE_MFD_REWRITES"
Packit fcad23
fi
Packit fcad23
Packit fcad23
module_list=""
Packit fcad23
mib_module_list=""
Packit fcad23
agent_module_list=""
Packit fcad23
new_with_mib_modules=`echo $with_mib_modules | $SED 's/,/ /g;'`
Packit fcad23
new_with_out_mib_modules=`echo $with_out_mib_modules | $SED 's/,/ /g;'`
Packit fcad23
Packit fcad23
# set up initial module list
Packit fcad23
new_module_list="$new_with_mib_modules"
Packit fcad23
Packit fcad23
if test "x$enable_agent" != "xno" ; then
Packit fcad23
  # If the agent should be built then use default_modules
Packit fcad23
  new_module_list="$new_module_list default_modules"
Packit fcad23
Packit fcad23
  if test "x$mini_agent" = "xyes"; then
Packit fcad23
    # define the mini agent flag to reduce our load list from default_mibs.h
Packit fcad23
    MODULECPP="$MODULECPP -DNETSNMP_MINI_AGENT"
Packit fcad23
  fi
Packit fcad23
elif test "x$enable_applications" != "xno" ; then
Packit fcad23
    # otherwise, if snmptrapd should be built then add SNMPv3 and
Packit fcad23
    # snmptrapd-specific parts
Packit fcad23
    new_module_list="$new_module_list mibII/vacm_conf utilities/execute"
Packit fcad23
    default_mibs=SNMPv2-MIB:IF-MIB:IP-MIB:TCP-MIB:UDP-MIB
Packit fcad23
    default_mibs_install=" "
Packit fcad23
fi
Packit fcad23
Packit fcad23
test_modules="$new_module_list"
Packit fcad23
new_module_list=""
Packit fcad23
Packit fcad23
# remove modules that were explicitly excluded
Packit fcad23
for i in $test_modules
Packit fcad23
 do
Packit fcad23
  if echo " $new_with_out_mib_modules " | $GREP " $i " > /dev/null; then
Packit fcad23
    mib_cfg_msg="mib module '$i' is both included and excluded."
Packit fcad23
    AC_MSG_WARN([mib module conflict])
Packit fcad23
    if test "x$with_mib_cfg_checks" = "xyes"; then
Packit fcad23
      AC_MSG_WARN([user with    : $with_mib_modules])
Packit fcad23
      AC_MSG_WARN([final with   : $new_module_list])
Packit fcad23
      AC_MSG_WARN([user without : $with_out_mib_modules])
Packit fcad23
      AC_MSG_WARN([final without: $new_with_out_mib_modules])
Packit fcad23
      AC_MSG_ERROR([$mib_cfg_msg])
Packit fcad23
    else
Packit fcad23
      AC_MSG_WARN([$mib_cfg_msg It will be excluded])
Packit fcad23
      AC_MSG_CACHE_ADD([*** MIB Module warning *** $mib_cfg_msg It has been excluded.])
Packit fcad23
    fi
Packit fcad23
  else
Packit fcad23
    new_module_list="$new_module_list $i"
Packit fcad23
  fi
Packit fcad23
done
Packit fcad23
Packit fcad23
new_module_list=`(echo $new_module_list | tr ' ' '\n' | sort | tr '\n' ' '; echo '') | $SED 's/ $//'`
Packit fcad23
Packit fcad23
AC_MSG_RESULT([$new_module_list.])
Packit fcad23
Packit fcad23
#---------------------
Packit fcad23
# loop over module list
Packit fcad23
#
Packit fcad23
all_warnings=""
Packit fcad23
if test "x$with_mib_cfg_debug" = "xyes"; then
Packit fcad23
   module_debug=1
Packit fcad23
else
Packit fcad23
   module_debug=0
Packit fcad23
fi
Packit fcad23
first_pass=1
Packit fcad23
output_to=normal
Packit fcad23
Packit fcad23
if test ! -d mk ; then
Packit fcad23
  mkdir mk
Packit fcad23
fi
Packit fcad23
Packit fcad23
Packit fcad23
module_rules=mk/module_rules.mk
Packit fcad23
echo "# contents below built automatically by configure; do not edit by hand" > $module_rules
Packit fcad23
Packit fcad23
#
Packit fcad23
# make file sub-pieces
Packit fcad23
#
Packit fcad23
for i in module_list_deps mib_module_list_deps agent_module_list_deps ; do
Packit fcad23
  eval "$i=mk/${i}.mk"
Packit fcad23
  echo "# contents below built automatically by configure; do not edit by hand" > mk/${i}.mk
Packit fcad23
done
Packit fcad23
Packit fcad23
#
Packit fcad23
# variable settings sub-pieces
Packit fcad23
#
Packit fcad23
for i in module_list_code mib_module_list_code agent_module_list_code module_list mib_module_list agent_module_list ; do
Packit fcad23
  eval "$i=mk/${i}.mk"
Packit fcad23
  echo "# contents below built automatically by configure; do not edit by hand" > mk/${i}.mk
Packit fcad23
  echo "$i= \\" >> mk/${i}.mk
Packit fcad23
done
Packit fcad23
Packit fcad23
echo $ECHO_N "echo " $ECHO_C > mk/MODULE_LIST.mk
Packit fcad23
MODULE_LIST=mk/MODULE_LIST.mk
Packit fcad23
Packit fcad23
Packit fcad23
#---------------------
Packit fcad23
# until we have an empty module list...
Packit fcad23
#   (modules may add new modules, and until all dependencies are done...)
Packit fcad23
#
Packit fcad23
while test "x$new_module_list" != "x"; do
Packit fcad23
  AC_MSG_MODULE_DBG(-e,"\n****************************************************************")
Packit fcad23
  AC_MSG_MODULE_DBG("nml: $new_module_list")
Packit fcad23
Packit fcad23
  #---------------------
Packit fcad23
  # loop over all the modules in the current list
Packit fcad23
  #
Packit fcad23
  for j in $new_module_list
Packit fcad23
    do
Packit fcad23
Packit fcad23
    #---------------------
Packit fcad23
    # figure out which sub-blocks to build in parts
Packit fcad23
    if echo "$j" | $GREP "=" ; then
Packit fcad23
       # build a shared object file
Packit fcad23
       # format: sofilename=module1:module2
Packit fcad23
       # XXX: currently doesn't do this
Packit fcad23
       dl_name=`echo $j | $SED 's/=.*//'`
Packit fcad23
       dl_names="$dl_names $dl_name"
Packit fcad23
       dl_objects=`echo $j | $SED 's/.*=//'`
Packit fcad23
       module_sublist=`echo $dl_objects | $SED 's/:/ /g'`
Packit fcad23
       saved_sublist=""
Packit fcad23
       saved_sublist_code=""
Packit fcad23
       output_to=separate
Packit fcad23
Packit fcad23
       # create output files
Packit fcad23
       # these actually get nuked later
Packit fcad23
       output_inits="agent/mibgroup/${dl_name}-dll.c"
Packit fcad23
       output_hdrs="agent/mibgroup/${dl_name}-hdrs.h"
Packit fcad23
    else
Packit fcad23
       # not a special token invocation
Packit fcad23
       module_sublist=$j
Packit fcad23
       output_to=normal
Packit fcad23
       output_t=
Packit fcad23
    fi
Packit fcad23
Packit fcad23
    while test "x$module_sublist" != "x" ; do
Packit fcad23
Packit fcad23
    #---------------------
Packit fcad23
    # loop over all the modules in the sub list
Packit fcad23
    for i in $module_sublist
Packit fcad23
    do
Packit fcad23
Packit fcad23
    AC_MSG_MODULE_DBG(-e "\n================================================================")
Packit fcad23
    AC_MSG_MODULE_DBG("testing $i")
Packit fcad23
    need_header=0
Packit fcad23
Packit fcad23
    #---------------------
Packit fcad23
    # build a pseudo include header that includes current config and
Packit fcad23
    # system symbols:
Packit fcad23
    rm -f conftest.$ac_ext module_tmp_header.h
Packit fcad23
    AC_LANG_CONFTEST([AC_LANG_SOURCE([[
Packit fcad23
#include NETSNMP_SYSTEM_INCLUDE_FILE
Packit fcad23
#include "$srcdir/$mibdir/$i.h"]])])
Packit fcad23
    mv conftest.$ac_ext module_tmp_header.h
Packit fcad23
Packit fcad23
    #---------------------
Packit fcad23
    # macro: config_belongs_in(ARG)
Packit fcad23
    #   ARG: either
Packit fcad23
    #     - mib_module   => libnetsnmpmibs   (default)
Packit fcad23
    #     - agent_module => libnetsnmpagent
Packit fcad23
    #
Packit fcad23
    AH_TOP([#define config_belongs_in(x)])
Packit fcad23
    module_type=mib_module
Packit fcad23
    if test -f $srcdir/$mibdir/$i.h; then
Packit fcad23
      changequote(, )
Packit fcad23
      module_type=`$MODULECPP module_tmp_header.h | \
Packit fcad23
                   $SED -n 's@.*config_belongs_in(\([^)]*\)).*@\1@p'`
Packit fcad23
      changequote([, ])
Packit fcad23
    fi
Packit fcad23
    if test "x$module_type" = "x" ; then
Packit fcad23
      module_type=mib_module
Packit fcad23
    fi
Packit fcad23
    if test "x$output_to" = "xnormal" ; then
Packit fcad23
     	output_inits="$mibdir/${module_type}_inits.h"
Packit fcad23
     	output_hdrs="$mibdir/${module_type}_includes.h"
Packit fcad23
    fi
Packit fcad23
Packit fcad23
    #--------------------
Packit fcad23
    # check for duplicates within the dll system. 
Packit fcad23
    #   - if found in a dll, then remove from the dll and add to main
Packit fcad23
    dblfix=""
Packit fcad23
    for dltest in $dl_names ; do
Packit fcad23
      eval mod_files="\"\$dl_${dltest}_files\""
Packit fcad23
      if echo " $mod_files " | $GREP " $i " > /dev/null; then
Packit fcad23
        # some dll module has already seen this, unload it from that list
Packit fcad23
        # and include it in the core (again)
Packit fcad23
        AC_MSG_MODULE_DBG("removing $i from $dltest")
Packit fcad23
        mod_files=`echo " $mod_files " | $SED "s@ $i @@"`
Packit fcad23
        dblfix="__XXX__"
Packit fcad23
        eval "dl_${dltest}_files=\"$mod_files\""
Packit fcad23
Packit fcad23
        module_list="$module_list $i"
Packit fcad23
	echo "read_config.lo: mibgroup/$i.h" >> $module_list_deps
Packit fcad23
	if test $module_type = "agent_module" ; then
Packit fcad23
 	    echo "snmp_vars.lo: mibgroup/$i.h" >> $agent_module_list_deps
Packit fcad23
        else
Packit fcad23
 	    echo "mib_modules.lo: mibgroup/$i.h" >> $mib_module_list_deps
Packit fcad23
        fi
Packit fcad23
        eval ${module_type}_list="\"\$${module_type}_list $i\""
Packit fcad23
	echo "	$i \\" >> $module_list_code
Packit fcad23
	echo $ECHO_N " $i" $ECHO_C >> $MODULE_LIST
Packit fcad23
        eval tmpfilevar=\$`echo ${module_type}_list_code`
Packit fcad23
        echo "	$i \\" >> $tmpfilevar
Packit fcad23
Packit fcad23
	# XXX: add this to the main init list; this is possible not
Packit fcad23
	# quite in the right spot any longer but we're stuck with it.
Packit fcad23
	# Adding it back to the original ordered spot would be a
Packit fcad23
	# nightmare.  Ok, we're already in nightmare code so that
Packit fcad23
	# wolud have to be a night-terror.
Packit fcad23
        mnm=`echo $i | $SED 's/.*\///;s/\.c$//;'`
Packit fcad23
	output_inits_tmp="$mibdir/${module_type}_inits.h"
Packit fcad23
	echo "  if (should_init(\"$mnm\")) init_$mnm();" >> $output_inits_tmp
Packit fcad23
        # XXX: even worse, we loose whether the header is needed or not.
Packit fcad23
     	output_hdrs_tmp="$mibdir/${module_type}_includes.h"
Packit fcad23
        echo '#include "'"mibgroup/$i.h"'"' >> $output_hdrs_tmp
Packit fcad23
      fi
Packit fcad23
    done
Packit fcad23
Packit fcad23
    #---------------------
Packit fcad23
    # make sure module wasn't explicitly excluded, or already added
Packit fcad23
    #
Packit fcad23
    if test "x$dblfix" != "x" ; then
Packit fcad23
      AC_MSG_MODULE_DBG("$i was duplicated -- putting into main")
Packit fcad23
    elif echo " $new_with_out_mib_modules " | $GREP " $i " > /dev/null; then
Packit fcad23
      AC_MSG_MODULE_DBG("$i was excluded")
Packit fcad23
    elif echo " $module_list " | $GREP " $i " > /dev/null; then
Packit fcad23
      AC_MSG_MODULE_DBG("$i already tested")
Packit fcad23
    else
Packit fcad23
Packit fcad23
      #---------------------
Packit fcad23
      # process modules header, checking for config_ pseudo-macros
Packit fcad23
      #
Packit fcad23
Packit fcad23
      #---------------------
Packit fcad23
      # does the header file for the module exist?
Packit fcad23
      #   macros are only processed if it does
Packit fcad23
      if test -f $srcdir/$mibdir/$i.h; then
Packit fcad23
        new_list=""
Packit fcad23
Packit fcad23
        #---------------------
Packit fcad23
      	# macro: config_exclude(modules)
Packit fcad23
      	#  - lists conflicts with other modules
Packit fcad23
      	#    - EG: new MIB implementations exclude old and vice-versa
Packit fcad23
      	#
Packit fcad23
        # check if $i has any conflicts
Packit fcad23
        #
Packit fcad23
        AH_TOP([#define config_exclude(x)])
Packit fcad23
        new_list_excl=`$MODULECPP module_tmp_header.h | \
Packit fcad23
                       $SED -n 's/.*config_exclude(\(.*\)).*/\1/p'`
Packit fcad23
	if test "x$new_list_excl" != "x"; then
Packit fcad23
          AC_MSG_MODULE_DBG("$i excludes $new_list_excl")
Packit fcad23
	  for j in $new_list_excl
Packit fcad23
	    do
Packit fcad23
	    if echo " $module_list $new_mib_module_list $new_list_two " | $GREP " $j " > /dev/null; then
Packit fcad23
              mib_cfg_msg="mib module '$i' excludes module '$j' but another module requires it"
Packit fcad23
              AC_MSG_WARN([mib module error])
Packit fcad23
              if test "x$with_mib_cfg_checks" = "xyes"; then
Packit fcad23
	        AC_MSG_ERROR([$mib_cfg_msg])
Packit fcad23
              else
Packit fcad23
	        AC_MSG_WARN([$mib_cfg_msg])
Packit fcad23
                AC_MSG_CACHE_ADD([*** MIB Module warning *** $mib_cfg_msg])
Packit fcad23
              fi
Packit fcad23
	    else
Packit fcad23
	      new_with_out_mib_modules="$j $new_with_out_mib_modules"
Packit fcad23
              AC_MSG_MODULE_DBG("$j added to excluded list")
Packit fcad23
	    fi
Packit fcad23
	  done
Packit fcad23
	fi
Packit fcad23
Packit fcad23
        #---------------------
Packit fcad23
      	# macro: config_arch_require(ARCH,modules)
Packit fcad23
      	#  - lists modules required for a given ARCH
Packit fcad23
        #
Packit fcad23
        # check if $i has any architecture specific requirements
Packit fcad23
        #
Packit fcad23
        AH_TOP([#define config_arch_require(x,y)])
Packit fcad23
        changequote(, )
Packit fcad23
        new_list_arch=`$MODULECPP module_tmp_header.h | \
Packit fcad23
                       $SED -n 's/.*config_arch_require( *\([^ ]*\) *, *\([^ ]*\) *).*/\1-xarchx-\2/p'`
Packit fcad23
        changequote([, ])
Packit fcad23
	if test "x$new_list_arch" != "x"; then
Packit fcad23
          for j in $new_list_arch
Packit fcad23
	    do
Packit fcad23
	    archtest=`echo $j | $SED 's/-xarchx-.*//'`
Packit fcad23
	    # target_os may have been changed to a #define of 1...
Packit fcad23
	    if test "x$archtest" = "x1" -o "x$target_os" = "x$archtest" -o "x$PARTIALTARGETOS" = "x$archtest"; then
Packit fcad23
	      new_list="$new_list `echo $j | $SED 's/.*-xarchx-//'`"
Packit fcad23
              AC_MSG_MODULE_DBG(" $i required adding arch files: `echo $j | $SED 's/.*-xarchx-//'`")
Packit fcad23
	    fi
Packit fcad23
	  done
Packit fcad23
	fi
Packit fcad23
        AC_MSG_MODULE_DBG(" $i required arch files: $new_list")
Packit fcad23
Packit fcad23
        #---------------------
Packit fcad23
      	# macro: config_version_require((base, version, version-modules, ...))
Packit fcad23
      	#  - lists alternative modules used from different versions.
Packit fcad23
        #
Packit fcad23
        AH_TOP([#define config_version_require(x)])
Packit fcad23
        [new_list_alt3=`$MODULECPP module_tmp_header.h | \
Packit fcad23
            $AWK '
Packit fcad23
                BEGIN {
Packit fcad23
                    if("'"$enable_new_features"'" == "yes")
Packit fcad23
                        method="max";
Packit fcad23
                    else if("'"$enable_old_features"'" == "yes")
Packit fcad23
                        method="max-less";
Packit fcad23
                    else
Packit fcad23
                        method="max-less-equal";
Packit fcad23
                    FS = ".";
Packit fcad23
                    split("'"$with_features_of"'", a);
Packit fcad23
                    version=sprintf("%03d%03d%03d%03d", a[1], a[2], a[3], a[4]);
Packit fcad23
                }
Packit fcad23
                /config_version_require/ {
Packit fcad23
                    gsub("^.*config_version_require *\\\\(\\\\(", "");
Packit fcad23
                    gsub("\\\\)\\\\).*$", "");
Packit fcad23
                    gsub(", *", ",");
Packit fcad23
                    FS = ",";
Packit fcad23
                    n = split($0, a);
Packit fcad23
                    FS = ".";
Packit fcad23
                    actver = "000000000000";
Packit fcad23
                    actstr = a[1];
Packit fcad23
                    for(i = 2; i < n; i += 2) {
Packit fcad23
                        split(a[i], b);
Packit fcad23
                        curver=sprintf("%03d%03d%03d%03d", b[1], b[2], b[3], b[4]);
Packit fcad23
                        if (curver > actver && (method != "max-less" || curver < version) && (method != "max-less-equal" || curver <= version)) {
Packit fcad23
                            actver = curver;
Packit fcad23
                            actstr = a[i + 1];
Packit fcad23
                        }
Packit fcad23
                    }
Packit fcad23
                    printf(" %s", actstr);
Packit fcad23
                }'`]
Packit fcad23
        AC_MSG_MODULE_DBG(" $i required versioned features: $new_list_alt3")
Packit fcad23
        new_list="${new_list}${new_list_alt3}"
Packit fcad23
Packit fcad23
        #---------------------
Packit fcad23
      	# macro: config_require(modules)
Packit fcad23
      	#  - lists modules required for this module
Packit fcad23
        #
Packit fcad23
        # check if $i has any other required modules
Packit fcad23
        #
Packit fcad23
        AH_TOP([#define config_require(x)])
Packit fcad23
        new_list="$new_list `$MODULECPP module_tmp_header.h | \
Packit fcad23
                  $SED -n 's/.*config_require(\(.*\)).*/\1/p'`"
Packit fcad23
        AC_MSG_MODULE_DBG(" $i will test: $new_list")
Packit fcad23
	if test "x$new_list" != "x"; then
Packit fcad23
	  for j in $new_list
Packit fcad23
	    do
Packit fcad23
            AC_MSG_MODULE_DBG(-n " $i wants to add $j: ")
Packit fcad23
	    if test ! -f $srcdir/$mibdir/$j.h -a ! -f $srcdir/$mibdir/$j.c; then
Packit fcad23
              AC_MSG_WARN([mib module error])
Packit fcad23
	      AC_MSG_ERROR([mib module "$i" requires module "$j" but $j.h or $j.c could not be found in $srcdir/$mibdir])
Packit fcad23
	    elif echo " $new_with_out_mib_modules " | $GREP " $j " > /dev/null; then
Packit fcad23
	      if test "x$i" != "xdefault_modules" ; then
Packit fcad23
                mib_cfg_msg="mib module '$i' requires module '$j' but someone told me to compile without it"
Packit fcad23
                AC_MSG_WARN([mib module error])
Packit fcad23
                if test "x$with_mib_cfg_checks" = "xyes"; then
Packit fcad23
                  AC_MSG_ERROR([$mib_cfg_msg])
Packit fcad23
                else
Packit fcad23
                  AC_MSG_WARN([$mib_cfg_msg])
Packit fcad23
                  AC_MSG_CACHE_ADD([*** MIB Module warning *** $mib_cfg_msg])
Packit fcad23
                fi
Packit fcad23
#	    elif echo " $module_list $new_list_two $new_module_list " | $GREP " $j " > /dev/null; then
Packit fcad23
#              AC_MSG_MODULE_DBG("  $j included previously")
Packit fcad23
              fi
Packit fcad23
	    else
Packit fcad23
	      new_list_two="$new_list_two $j"
Packit fcad23
              AC_MSG_MODULE_DBG("  $j included")
Packit fcad23
	    fi
Packit fcad23
	  done
Packit fcad23
	fi
Packit fcad23
Packit fcad23
        #---------------------
Packit fcad23
      	# macro: config_add_mib(SOME-MIB)
Packit fcad23
      	#  - lists MIBs to be added to the default to-load list.
Packit fcad23
        #
Packit fcad23
        # check if $i has any mibs to add
Packit fcad23
        #
Packit fcad23
        AH_TOP([#define config_add_mib(x)])
Packit fcad23
        new_mibs=`$MODULECPP module_tmp_header.h | \
Packit fcad23
                  $SED -n 's/.*config_add_mib(\(.*\)).*/\1/p'`
Packit fcad23
	if test "x$new_mibs" != "x"; then
Packit fcad23
	    for j in $new_mibs
Packit fcad23
		do
Packit fcad23
		if test "x`echo :$default_mibs: | $GREP :$j:`" = "x"; then
Packit fcad23
		    default_mibs="$default_mibs:$j"
Packit fcad23
		fi
Packit fcad23
		if test -f $srcdir/mibs/$j.txt; then
Packit fcad23
		    if echo $default_mibs_install | $GREP " $j " > /dev/null; then
Packit fcad23
			    :
Packit fcad23
		    else
Packit fcad23
			    default_mibs_install="$default_mibs_install $j.txt"
Packit fcad23
		    fi
Packit fcad23
		fi
Packit fcad23
	    done
Packit fcad23
	fi # new mibs
Packit fcad23
Packit fcad23
        #-------------------
Packit fcad23
        # add the current module to the list of stuff to compile, etc.
Packit fcad23
        #
Packit fcad23
        # add $i to module list
Packit fcad23
        #
Packit fcad23
        AC_MSG_MODULE_DBG("  $i added (based on $i.h)")
Packit fcad23
        module_list="$module_list $i"
Packit fcad23
        eval ${module_type}_list="\"\$${module_type}_list $i\""
Packit fcad23
Packit fcad23
	echo "read_config.lo: mibgroup/$i.h" >> $module_list_deps
Packit fcad23
	if test $module_type = "agent_module" ; then
Packit fcad23
 	    echo "snmp_vars.lo: mibgroup/$i.h" >> $agent_module_list_deps
Packit fcad23
        else
Packit fcad23
 	    echo "mib_modules.lo: mibgroup/$i.h" >> $mib_module_list_deps
Packit fcad23
        fi
Packit fcad23
Packit fcad23
        #-------------------
Packit fcad23
        # check for unsupported config_load_mib
Packit fcad23
        #
Packit fcad23
        if $MODULECPP module_tmp_header.h | $GREP -q config_load_mib; then
Packit fcad23
          AC_MSG_WARN([mib module error])
Packit fcad23
      	  AC_MSG_WARN([mib module "$i" uses the "config_load_mib" directive, which is no longer supported.  It probably won't work.])
Packit fcad23
        fi # grep config_load_mib
Packit fcad23
Packit fcad23
        #-------------------
Packit fcad23
        # check for config_parse_dot_conf
Packit fcad23
        #  (generally not used any longer; old auto-load a .conf token)
Packit fcad23
        #
Packit fcad23
        AH_TOP([#define config_parse_dot_conf(w,x,y,z)])
Packit fcad23
        changequote(, )
Packit fcad23
        $MODULECPP module_tmp_header.h | \
Packit fcad23
        $SED -n 's@.*config_parse_dot_conf(\([^)]*\), *\([^),]*\), *\([^),]*\), *\([^),]*\)).*@register_config_handler("snmpd",\1, \2, \3, \4);@p' >> $mibdir/mib_module_dot_conf.h
Packit fcad23
	changequote([, ])
Packit fcad23
Packit fcad23
        #---------------------
Packit fcad23
      	# macro: config_error(error text)
Packit fcad23
      	#  - used to signal a configuration error from a module
Packit fcad23
        #
Packit fcad23
        # check if $i has any errors, or warnings
Packit fcad23
        #
Packit fcad23
        AH_TOP([#define config_error(x)])
Packit fcad23
        error=`$MODULECPP module_tmp_header.h | \
Packit fcad23
               $SED -n 's/.*config_error(\(.*\)).*/\1/p'`
Packit fcad23
	if test "x$error" != "x"; then
Packit fcad23
          echo
Packit fcad23
          echo
Packit fcad23
          AC_MSG_ERROR([$i: *** $error ***])
Packit fcad23
        fi
Packit fcad23
Packit fcad23
        #---------------------
Packit fcad23
      	# macro: config_warning(warning text)
Packit fcad23
      	#  - used to signal a configuration "warning" to be printed to the user
Packit fcad23
        #
Packit fcad23
        AH_TOP([#define config_warning(x)])
Packit fcad23
        warning=`$MODULECPP module_tmp_header.h | \
Packit fcad23
                 $SED -n 's/.*config_warning(\(.*\)).*/\1/p'`
Packit fcad23
	if test "x$warning" != "x"; then
Packit fcad23
          all_warnings="$all_warnings $warning
Packit fcad23
"
Packit fcad23
        fi
Packit fcad23
Packit fcad23
      #---------------------
Packit fcad23
      # Check for a .c file if the .h didn't exist
Packit fcad23
      #
Packit fcad23
      elif test -f $srcdir/$mibdir/$i.c; then
Packit fcad23
        if echo " $module_list $new_list_two $new_module_list " | $GREP " $i      " > /dev/null; then
Packit fcad23
           AC_MSG_MODULE_DBG("  $i already included")
Packit fcad23
        else
Packit fcad23
           AC_MSG_MODULE_DBG("  $i added (based on $i.c)")
Packit fcad23
	   module_list="$module_list $i"
Packit fcad23
	   mib_module_list="$mib_module_list $i"
Packit fcad23
        fi
Packit fcad23
Packit fcad23
      #---------------------
Packit fcad23
      # No .h or .c = error!  (typo?)
Packit fcad23
      #
Packit fcad23
      else # no $i.h or $i.c
Packit fcad23
        AC_MSG_WARN([mib module error])
Packit fcad23
	AC_MSG_ERROR([module files $i.h or $i.c could not be found in $srcdir/$mibdir])
Packit fcad23
      fi # no $i.h
Packit fcad23
Packit fcad23
      #-------------------
Packit fcad23
      # check for init/shutdown routines too
Packit fcad23
      #
Packit fcad23
      has_c_code=no
Packit fcad23
      if test -f $srcdir/$mibdir/$i.c; then
Packit fcad23
        if test "x$output_to" = "xnormal" ; then
Packit fcad23
	  echo "	$i \\" >> $module_list_code
Packit fcad23
  	  echo $ECHO_N " $i" $ECHO_C >> $MODULE_LIST
Packit fcad23
          eval tmpfilevar=\$`echo ${module_type}_list_code`
Packit fcad23
          echo "	$i \\" >> $tmpfilevar
Packit fcad23
        else
Packit fcad23
          eval "dl_${dl_name}_files=\"\$dl_${dl_name}_files $i\""
Packit fcad23
          saved_sublist_code="$saved_sublist_code $i"
Packit fcad23
        fi
Packit fcad23
        mnm=`echo $i | $SED 's/.*\///;s/\.c$//;'`
Packit fcad23
        AC_MSG_MODULE_DBG(-e "\nchecking '$srcdir/$mibdir/$i.c' ($mnm/`basename $i`) C file for init/shutdown")
Packit fcad23
        if test "x$mnm" != "x`basename $i`"; then
Packit fcad23
           AC_MSG_WARN([mib module error])
Packit fcad23
	   AC_MSG_ERROR([conflicting names: $mnm != `basename $i`])
Packit fcad23
        fi
Packit fcad23
        temp_init=`$GREP init_$mnm $srcdir/$mibdir/$i.c | $GREP -v _init_$mnm`
Packit fcad23
	if test "x$temp_init" != "x"; then
Packit fcad23
            AC_MSG_MODULE_DBG(-e "adding init_$mnm() to list")
Packit fcad23
            need_header=1
Packit fcad23
	    echo "  if (should_init(\"$mnm\")) init_$mnm();" >> $output_inits
Packit fcad23
	fi
Packit fcad23
	$GREP shutdown_$mnm $srcdir/$mibdir/$i.c > /dev/null
Packit fcad23
        if test $? -eq 0 ; then
Packit fcad23
            if test $module_debug -eq 1; then
Packit fcad23
              echo -e "\nadding shutdown_$mnm() to list"
Packit fcad23
            fi
Packit fcad23
            need_header=1
Packit fcad23
	    echo "  if (should_init(\"$mnm\")) shutdown_$mnm();" >> $mibdir/${module_type}_shutdown.h
Packit fcad23
	fi
Packit fcad23
      fi # test -f $srcdir/$mibdir/$i.c
Packit fcad23
Packit fcad23
      #-------------------
Packit fcad23
      # if there is a shutdown/init list,
Packit fcad23
      #
Packit fcad23
      if test $need_header -eq 1 ; then
Packit fcad23
         echo '#include "'"mibgroup/$i.h"'"' >> $output_hdrs
Packit fcad23
      else
Packit fcad23
         echo '/*#include "'"mibgroup/$i.h"'"*/' >> $output_hdrs
Packit fcad23
      fi
Packit fcad23
Packit fcad23
      #-------------------
Packit fcad23
      # check for output directory (for building outside of source tree
Packit fcad23
      #
Packit fcad23
      changequote(, )
Packit fcad23
      if test "x`echo $i | $SED 's/\///g;'`" != "x$i"; then
Packit fcad23
	mnd=`echo $i | $SED 's/\/[^/]*$//;'`
Packit fcad23
	if test ! -d ./$mibdir/$mnd; then
Packit fcad23
	    module_directories="$module_directories ./$mibdir/$mnd"
Packit fcad23
	fi
Packit fcad23
      fi # module directory test
Packit fcad23
      changequote([, ])
Packit fcad23
Packit fcad23
      #-------------------
Packit fcad23
      # define USING_*_MODULE
Packit fcad23
      #
Packit fcad23
      changequote(, )
Packit fcad23
      sym="`echo ${i} | $SED 's/[^a-zA-Z0-9_]/_/g' | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`"
Packit fcad23
      changequote([, ])
Packit fcad23
      echo "/* Define if compiling with the ${i} module files.  */" >> include/net-snmp/agent/${module_type}_config.h
Packit fcad23
      echo "#define USING_${sym}_MODULE 1" >> include/net-snmp/agent/${module_type}_config.h
Packit fcad23
      echo " " >> include/net-snmp/agent/${module_type}_config.h
Packit fcad23
Packit fcad23
      #-------------------
Packit fcad23
      echo $ECHO_N " $i$ECHO_C"
Packit fcad23
    fi #
Packit fcad23
    done # for i in $module_sublist
Packit fcad23
Packit fcad23
    if test "$output_to" = "separate" ; then
Packit fcad23
      if test "x$new_list_two" = "x" ; then
Packit fcad23
        # no new sub-modules to add to the current target
Packit fcad23
        output_to="normal"
Packit fcad23
Packit fcad23
        dllcleans="$saved_sublist_o $dllcleans"
Packit fcad23
        output_inits=""
Packit fcad23
        module_sublist=""
Packit fcad23
      else
Packit fcad23
        # a module had sub-modules required; keep goin'
Packit fcad23
        saved_sublist="$saved_sublist $module_sublist"
Packit fcad23
        module_sublist="$new_list_two"
Packit fcad23
        new_list_two=""
Packit fcad23
      fi
Packit fcad23
    else
Packit fcad23
      module_sublist=""
Packit fcad23
    fi
Packit fcad23
Packit fcad23
    done # while module_sublist
Packit fcad23
  done # for j in $new_module_list
Packit fcad23
Packit fcad23
  # remember the top level modules for later reporting
Packit fcad23
  if test $first_pass = 1 ; then
Packit fcad23
    # remember this list for later reporting
Packit fcad23
    top_level_modules="$new_module_list => $new_list_two"
Packit fcad23
    first_pass=0
Packit fcad23
  fi
Packit fcad23
  #-------------------
Packit fcad23
  # if $i added new modules vis config_*,
Packit fcad23
  # check those modules for requirements too
Packit fcad23
  #
Packit fcad23
  # transfer the new module to check list to the normal variable
Packit fcad23
  #
Packit fcad23
  if test "x$new_list_two" ; then
Packit fcad23
    output_to=normal
Packit fcad23
  fi
Packit fcad23
  new_module_list="$new_list_two"
Packit fcad23
  new_list_two=""
Packit fcad23
done # while test "x$new_module_list" != "x"; do
Packit fcad23
echo ""
Packit fcad23
Packit fcad23
#--------------------
Packit fcad23
# construct the dll code files and make rules.  This can't be done
Packit fcad23
# until now because duplicate use of a module means it gets removed
Packit fcad23
# from the dll and put into the main agent.
Packit fcad23
#
Packit fcad23
for i in $dl_names ; do
Packit fcad23
  eval mod_files="\"\$dl_${i}_files\""
Packit fcad23
  echo "components in the $i dll: $mod_files"
Packit fcad23
Packit fcad23
  output_inits="agent/mibgroup/${i}-dll.c"
Packit fcad23
  output_hdrs="agent/mibgroup/${i}-hdrs.h"
Packit fcad23
Packit fcad23
  AC_MSG_MODULE_DBG("creating dll file: $output_inits")
Packit fcad23
  for ofile in $output_inits $output_hdrs ; do
Packit fcad23
    if test -f $ofile ; then
Packit fcad23
      if $GREP "this file created automatically by configure" $ofile > /dev/null 2>&1 ; then
Packit fcad23
  	:
Packit fcad23
      else
Packit fcad23
  	AC_MSG_ERROR([$ofile already existed ; can't build dll object $i])
Packit fcad23
      fi
Packit fcad23
    fi
Packit fcad23
    cat > $ofile << EOFIF
Packit fcad23
/* xDo not edit; this file created automatically by configure */
Packit fcad23
EOFIF
Packit fcad23
  done
Packit fcad23
Packit fcad23
  cat >> $output_inits << EOFOC
Packit fcad23
#include <net-snmp/net-snmp-config.h>
Packit fcad23
#include <net-snmp/net-snmp-includes.h>
Packit fcad23
#include <net-snmp/agent/net-snmp-agent-includes.h>
Packit fcad23
#include "${i}-hdrs.h"
Packit fcad23
void
Packit fcad23
init_$i(void) {
Packit fcad23
EOFOC
Packit fcad23
Packit fcad23
  # create the .so rule
Packit fcad23
  saved_sublist_o=`echo "$mod_files " | $SED 's/^ *//g;s/  */.o /g;'`
Packit fcad23
Packit fcad23
  # create the rules for each object
Packit fcad23
  for j in $mod_files ; do
Packit fcad23
    cat >> $module_rules << EOFR
Packit fcad23
$j.o: $j.c
Packit fcad23
	\$(CC) -c \$(CPPFLAGS) \$(CFLAGS) \$(DLFLAGS) -o \$@ \$<
Packit fcad23
Packit fcad23
EOFR
Packit fcad23
    mnm=`echo $j | $SED 's/.*\///;s/\.c$//;'`
Packit fcad23
    echo "  if (should_init(\"$mnm\")) init_$mnm();" >> $output_inits
Packit fcad23
  done
Packit fcad23
Packit fcad23
  # create the rule for the .so and wrapper code
Packit fcad23
  cat >> $module_rules << EOFM
Packit fcad23
${i}-dll.o: ${i}-dll.c
Packit fcad23
	\$(CC) -c \$(CPPFLAGS) \$(CFLAGS) \$(DLFLAGS) -o \$@ \$<
Packit fcad23
Packit fcad23
${i}.so: $saved_sublist_o ${i}-dll.o
Packit fcad23
	\$(CC) \$(CPPFLAGS) \$(CFLAGS) \$(DLFLAGS) -o \$@ $saved_sublist_o ${i}-dll.o
Packit fcad23
Packit fcad23
EOFM
Packit fcad23
        cat >> $output_inits << EOFOCFIN
Packit fcad23
}
Packit fcad23
EOFOCFIN
Packit fcad23
Packit fcad23
done
Packit fcad23
Packit fcad23
# cleanup
Packit fcad23
rm -f conftest.$ac_ext module_tmp_header.h
Packit fcad23
Packit fcad23
#-------------------
Packit fcad23
# build module lists for Makefiles
Packit fcad23
#
Packit fcad23
changequote(, )
Packit fcad23
Packit fcad23
for i in module_list_o module_list_c module_list_lo module_list_ft mib_module_list_o mib_module_list_c mib_module_list_lo mib_module_list_ft mibgroup_list_o mibgroup_list_lo mibgroup_list_ft agent_module_list_o agent_module_list_c agent_module_list_lo agent_module_list_ft agentgroup_list_o agentgroup_list_lo agentgroup_list_ft ; do
Packit fcad23
  eval "$i=mk/${i}.mk"
Packit fcad23
done
Packit fcad23
Packit fcad23
$SED 's/^module_list_code/module_list_o/;s/\([^=]\)  *\\/\1.o \\/g'  < $module_list_code  > $module_list_o
Packit fcad23
$SED 's/^module_list_code/module_list_c/;s/\([^=]\)  *\\/\1.c \\/g'  < $module_list_code  > $module_list_c
Packit fcad23
$SED 's/^module_list_code/module_list_lo/;s/\([^=]\)  *\\/\1.lo \\/g' < $module_list_code  > $module_list_lo
Packit fcad23
$SED 's/^module_list_code/module_list_ft/;s/\([^=]\)  *\\/\1.ft \\/g' < $module_list_code  > $module_list_ft
Packit fcad23
Packit fcad23
$SED 's/^mib_module_list_code/mib_module_list_o/;s/\([^=]\)  *\\/\1.o \\/g'  < $mib_module_list_code  > $mib_module_list_o
Packit fcad23
$SED 's/^mib_module_list_code/mib_module_list_c/;s/\([^=]\)  *\\/\1.c \\/g'  < $mib_module_list_code  > $mib_module_list_c
Packit fcad23
$SED 's/^mib_module_list_code/mib_module_list_lo/;s/\([^=]\)  *\\/\1.lo \\/g' < $mib_module_list_code  > $mib_module_list_lo
Packit fcad23
$SED 's/^mib_module_list_code/mib_module_list_ft/;s/\([^=]\)  *\\/\1.ft \\/g' < $mib_module_list_code  > $mib_module_list_ft
Packit fcad23
Packit fcad23
$SED 's/^mib_module_list_o/mibgroup_list_o/;s@\([^ 	]*\)\.o@mibgroup/\1.o@g' < $mib_module_list_o > $mibgroup_list_o
Packit fcad23
$SED 's/^mib_module_list_lo/mibgroup_list_lo/;s@\([^ 	]*\)\.lo@mibgroup/\1.lo@g' < $mib_module_list_lo > $mibgroup_list_lo
Packit fcad23
$SED 's/^mib_module_list_ft/mibgroup_list_ft/;s@\([^ 	]*\)\.ft@mibgroup/\1.ft@g' < $mib_module_list_ft > $mibgroup_list_ft
Packit fcad23
Packit fcad23
$SED 's/^agent_module_list_code/agent_module_list_o/;s/\([^=]\)  *\\/\1.o \\/g'  < $agent_module_list_code  > $agent_module_list_o
Packit fcad23
$SED 's/^agent_module_list_code/agent_module_list_c/;s/\([^=]\)  *\\/\1.c \\/g'  < $agent_module_list_code  > $agent_module_list_c
Packit fcad23
$SED 's/^agent_module_list_code/agent_module_list_lo/;s/\([^=]\)  *\\/\1.lo \\/g' < $agent_module_list_code  > $agent_module_list_lo
Packit fcad23
$SED 's/^agent_module_list_code/agent_module_list_ft/;s/\([^=]\)  *\\/\1.ft \\/g' < $agent_module_list_code  > $agent_module_list_ft
Packit fcad23
Packit fcad23
$SED 's/^agent_module_list_o/agentgroup_list_o/;s@\([^ 	]*\)\.o@mibgroup/\1.o@g' < $agent_module_list_o > $agentgroup_list_o
Packit fcad23
$SED 's/^agent_module_list_lo/agentgroup_list_lo/;s@\([^ 	]*\)\.lo@mibgroup/\1.lo@g' < $agent_module_list_lo > $agentgroup_list_lo
Packit fcad23
$SED 's/^agent_module_list_ft/agentgroup_list_ft/;s@\([^ 	]*\)\.ft@mibgroup/\1.ft@g' < $agent_module_list_ft > $agentgroup_list_ft
Packit fcad23
Packit fcad23
for i in module_list_o module_list_c module_list_lo module_list_ft mib_module_list_o mib_module_list_c mib_module_list_lo mib_module_list_ft mibgroup_list_o mibgroup_list_lo mibgroup_list_ft agent_module_list_o agent_module_list_c agent_module_list_lo agent_module_list_ft agentgroup_list_o agentgroup_list_lo agentgroup_list_ft ; do
Packit fcad23
	# hpux make (at least) doesn't like a trailing \ on the last
Packit fcad23
	# line even when the next line contains nothing but
Packit fcad23
	# whitespace.
Packit fcad23
	lasttoken=`awk '{lasttoken=$1}END{print lasttoken}' mk/$i.mk`
Packit fcad23
	$SED "s#$lasttoken \\\\#$lasttoken#" < mk/$i.mk > mk/$i.mk.tmp
Packit fcad23
	mv mk/$i.mk.tmp mk/$i.mk
Packit fcad23
Packit fcad23
	# add a closing comment
Packit fcad23
	echo "" >> mk/$i.mk
Packit fcad23
	echo "# end configure generated code" >> mk/$i.mk
Packit fcad23
done
Packit fcad23
Packit fcad23
changequote([, ])
Packit fcad23
Packit fcad23
if test $module_debug -eq 1; then
Packit fcad23
   echo -e "\nFinal module list: $module_list_code"
Packit fcad23
   exit
Packit fcad23
fi
Packit fcad23
if test "x$with_mib_cfg_checks" = "xyes"; then
Packit fcad23
  AC_MSG_CACHE_ADD([Agent Module list: $module_list_code])
Packit fcad23
fi
Packit fcad23
AC_SUBST_FILE(MODULE_LIST)
Packit fcad23
AC_SUBST_FILE(module_list_c)
Packit fcad23
AC_SUBST_FILE(module_list_o)
Packit fcad23
AC_SUBST_FILE(module_list_lo)
Packit fcad23
AC_SUBST_FILE(module_list_ft)
Packit fcad23
AC_SUBST_FILE(mib_module_list_c)
Packit fcad23
AC_SUBST_FILE(mib_module_list_o)
Packit fcad23
AC_SUBST_FILE(mib_module_list_lo)
Packit fcad23
AC_SUBST_FILE(mib_module_list_ft)
Packit fcad23
AC_SUBST_FILE(agent_module_list_c)
Packit fcad23
AC_SUBST_FILE(agent_module_list_o)
Packit fcad23
AC_SUBST_FILE(agent_module_list_lo)
Packit fcad23
AC_SUBST_FILE(agent_module_list_ft)
Packit fcad23
AC_SUBST_FILE(mibgroup_list_o)
Packit fcad23
AC_SUBST_FILE(mibgroup_list_lo)
Packit fcad23
AC_SUBST_FILE(mibgroup_list_ft)
Packit fcad23
AC_SUBST_FILE(agentgroup_list_o)
Packit fcad23
AC_SUBST_FILE(agentgroup_list_lo)
Packit fcad23
AC_SUBST_FILE(agentgroup_list_ft)
Packit fcad23
Packit fcad23
AC_SUBST(default_mibs_install)
Packit fcad23
AC_SUBST(dllcleans)
Packit fcad23
AC_SUBST_FILE(module_rules)
Packit fcad23
AC_SUBST_FILE(module_list_deps)
Packit fcad23
AC_SUBST_FILE(mib_module_list_deps)
Packit fcad23
AC_SUBST_FILE(agent_module_list_deps)
Packit fcad23
Packit fcad23
AC_MSG_RESULT(.)
Packit fcad23
Packit fcad23
if test $module_debug -eq 1; then
Packit fcad23
AC_MSG_CACHE_ADD(Agent MIB code:            $module_list)
Packit fcad23
fi
Packit fcad23
AC_MSG_CACHE_ADD(Agent MIB code:            $top_level_modules)
Packit fcad23
Packit fcad23
# end hairy agent module processing
Packit fcad23
Packit fcad23
AC_MSG_CHECKING([if directories need to be created])
Packit fcad23
for i in $module_directories; do
Packit fcad23
  $srcdir/mkinstalldirs $i
Packit fcad23
done
Packit fcad23
AC_MSG_RESULT(.)
Packit fcad23
Packit fcad23
#-------------------
Packit fcad23
# Define default mibs
Packit fcad23
#
Packit fcad23
AC_MSG_CHECKING([default mib files to read])
Packit fcad23
if test "x$NETSNMP_DEFAULT_MIBS" = "x"; then
Packit fcad23
  NETSNMP_DEFAULT_MIBS="$default_mibs"
Packit fcad23
fi
Packit fcad23
if test "x$ENV_SEPARATOR" != "x"; then
Packit fcad23
  :
Packit fcad23
elif test "x$PARTIALTARGETOS" = "xmingw32" -o "x$PARTIALTARGETOS" = "xmingw32msvc" -o "x$PARTIALTARGETOS" = "xcygwin"; then
Packit fcad23
  # mingw32 and cygwin use ';' as the default environment variable separator
Packit fcad23
  ENV_SEPARATOR=";"
Packit fcad23
  NETSNMP_DEFAULT_MIBS=`echo "$NETSNMP_DEFAULT_MIBS" | $SED 's/:/;/g'`
Packit fcad23
  default_mibs=`echo "$default_mibs" | $SED 's/:/;/g'`
Packit fcad23
else
Packit fcad23
  ENV_SEPARATOR=":"
Packit fcad23
fi
Packit fcad23
AC_SUBST(ENV_SEPARATOR)
Packit fcad23
AC_DEFINE_UNQUOTED([ENV_SEPARATOR], ["$ENV_SEPARATOR"],
Packit fcad23
         [Environment separator character surrounded by double quotes.])
Packit fcad23
AC_DEFINE_UNQUOTED([ENV_SEPARATOR_CHAR], ['$ENV_SEPARATOR'],
Packit fcad23
          [Environment separator character surrounded by single quotes.])
Packit fcad23
AC_DEFINE_UNQUOTED(NETSNMP_DEFAULT_MIBS,"$NETSNMP_DEFAULT_MIBS")
Packit fcad23
AC_SUBST(NETSNMP_DEFAULT_MIBS)
Packit fcad23
AC_MSG_RESULT($NETSNMP_DEFAULT_MIBS)
Packit fcad23
Packit fcad23
#-------------------
Packit fcad23
# Define symbols for conditional compilation in makefiles
Packit fcad23
#
Packit fcad23
Packit fcad23
if echo " $agent_module_list " | \
Packit fcad23
   fgrep ' agentx/agentx_config ' | \
Packit fcad23
   fgrep ' agentx/protocol ' > /dev/null ; then
Packit fcad23
   NETSNMP_HAVE_AGENTX_LIBS_TRUE=''
Packit fcad23
   NETSNMP_HAVE_AGENTX_LIBS_FALSE='#'
Packit fcad23
else
Packit fcad23
   NETSNMP_HAVE_AGENTX_LIBS_TRUE='#'
Packit fcad23
   NETSNMP_HAVE_AGENTX_LIBS_FALSE=''
Packit fcad23
fi
Packit fcad23
AC_SUBST([NETSNMP_HAVE_AGENTX_LIBS_TRUE])
Packit fcad23
AC_SUBST([NETSNMP_HAVE_AGENTX_LIBS_FALSE])