Fix atmconfig compilation when MK_ATM == yes and MK_BSNMP == no

Makefile.inc1:
Always compile gensnmptree with bootstrap-tools when MK_BSNMP != no
instead of depending on a potentially stale tool installed on the build host

sbin/atm/atmconfig/Makefile:
- Always remove oid.h to avoid cluttering up the build/src tree.
- Consolidate all of the RESCUE/MK_BSNMP != no logic under one
conditional to improve readability
- Remove unnecessary ${.OBJDIR} prefixing for oid.h and use ${.TARGET} instead
  of spelling out oid.h
- Add a missing DPADD for ${LIBCRYPTO} when compiled MK_BSNMP == yes and
  MK_OPENSSL == yes and not compiling for /rescue/rescue

sbin/atm/atmconfig/main.c:
Change #ifndef RESCUE to #ifdef WITH_BSNMP in main.c to make it
clear that we're compiling bsnmp support into atmconfig

Approved by: jmmv (mentor)
Phabric: D579
PR: 143830
MFC after: 2 weeks
Sponsored by: EMC / Isilon Storage Division
This commit is contained in:
Enji Cooper 2014-08-15 21:22:49 +00:00
parent d90e30ba36
commit 51483c42ed
3 changed files with 18 additions and 23 deletions

View File

@ -1239,7 +1239,7 @@ _lex= usr.bin/lex
_awk= usr.bin/awk
.endif
.if ${MK_BSNMP} != "no" && !exists(/usr/sbin/gensnmptree)
.if ${MK_BSNMP} != "no"
_gensnmptree= usr.sbin/bsnmpd/gensnmptree
.endif

View File

@ -8,29 +8,24 @@
.include <src.opts.mk>
PROG= atmconfig
.ifndef RESCUE
SRCS= ${.OBJDIR}/oid.h
.endif
SRCS+= main.c diag.c natm.c
.ifndef RESCUE
SRCS+= atmconfig_device.c
.endif
SRCS= main.c diag.c natm.c
MAN= atmconfig.8
# CFLAGS+= -DPATH_HELP='".:/usr/share/doc/atm:/usr/local/share/doc/atm"'
CFLAGS+= -I${.OBJDIR}
.ifndef RESCUE
DPADD= ${LIBBSNMP}
LDADD= -lbsnmp
.if !defined(RESCUE) && ${MK_BSNMP} != "no"
CFLAGS+= -DWITH_BSNMP
SRCS+= oid.h atmconfig_device.c
DPADD+= ${LIBBSNMP}
LDADD+= -lbsnmp
. if ${MK_DYNAMICROOT} == "no" && ${MK_OPENSSL} != "no"
DPADD+= ${LIBCRYPTO}
LDADD+= -lcrypto
. endif
.endif
.ifndef RESCUE
CLEANFILES+= oid.h
.endif
# XXX - this is verboten
.if ${MACHINE_CPUARCH} == "arm"
@ -43,8 +38,8 @@ FILESDIR= /usr/share/doc/atm
SNMP_ATM_DEF= ${.CURDIR}/../../../contrib/ngatm/snmp_atm/atm_tree.def \
${.CURDIR}/../../../usr.sbin/bsnmpd/modules/snmp_atm/atm_freebsd.def
${.OBJDIR}/oid.h: atm_oid.list ${SNMP_ATM_DEF}
oid.h: atm_oid.list ${SNMP_ATM_DEF}
cat ${SNMP_ATM_DEF} | gensnmptree -e `tail -n +2 ${.CURDIR}/atm_oid.list` \
> ${.OBJDIR}/oid.h
> ${.TARGET}
.include <bsd.prog.mk>

View File

@ -38,7 +38,7 @@ __FBSDID("$FreeBSD$");
#include <stdint.h>
#include <fnmatch.h>
#include <dirent.h>
#ifndef RESCUE
#ifdef WITH_BSNMP
#include <bsnmp/asn1.h>
#include <bsnmp/snmp.h>
#include <bsnmp/snmpclient.h>
@ -444,7 +444,7 @@ help_func(int argc, char *argv[])
exit(1);
}
#ifndef RESCUE
#ifdef WITH_BSNMP
/*
* Parse a server specification
*
@ -527,16 +527,16 @@ main(int argc, char *argv[])
int opt, i;
const struct cmdtab *match, *cc, *tab;
#ifndef RESCUE
#ifdef WITH_BSNMP
snmp_client_init(&snmp_client);
snmp_client.trans = SNMP_TRANS_LOC_STREAM;
snmp_client_set_host(&snmp_client, PATH_ILMI_SOCK);
#endif
#ifdef RESCUE
#define OPTSTR "htv"
#else
#ifdef WITH_BSNMP
#define OPTSTR "htvs:"
#else
#define OPTSTR "htv"
#endif
while ((opt = getopt(argc, argv, OPTSTR)) != -1)
@ -545,7 +545,7 @@ main(int argc, char *argv[])
case 'h':
help_func(0, argv);
#ifndef RESCUE
#ifdef WITH_BSNMP
case 's':
parse_server(optarg);
break;
@ -570,7 +570,7 @@ main(int argc, char *argv[])
err(1, NULL);
memcpy(main_tab, static_main_tab, sizeof(static_main_tab));
#ifndef RESCUE
#ifdef WITH_BSNMP
/* XXX while this is compiled in */
device_register();
#endif