]> rtime.felk.cvut.cz Git - coffee/buildroot.git/blob - package/netsnmp/netsnmp.mk
Merge branch 'next'
[coffee/buildroot.git] / package / netsnmp / netsnmp.mk
1 ################################################################################
2 #
3 # netsnmp
4 #
5 ################################################################################
6
7 NETSNMP_VERSION = 5.7.3
8 NETSNMP_SITE = http://downloads.sourceforge.net/project/net-snmp/net-snmp/$(NETSNMP_VERSION)
9 NETSNMP_SOURCE = net-snmp-$(NETSNMP_VERSION).tar.gz
10 NETSNMP_LICENSE = Various BSD-like
11 NETSNMP_LICENSE_FILES = COPYING
12 NETSNMP_INSTALL_STAGING = YES
13 NETSNMP_CONF_ENV = ac_cv_NETSNMP_CAN_USE_SYSCTL=no
14 NETSNMP_CONF_OPTS = \
15         --with-persistent-directory=/var/lib/snmp \
16         --with-defaults \
17         --enable-mini-agent \
18         --without-rpm \
19         --with-logfile=none \
20         --without-kmem-usage $(DISABLE_IPV6) \
21         --enable-as-needed \
22         --without-perl-modules \
23         --disable-embedded-perl \
24         --disable-perl-cc-checks \
25         --disable-scripts \
26         --with-default-snmp-version="1" \
27         --enable-silent-libtool \
28         --enable-mfd-rewrites \
29         --with-sys-contact="root@localhost" \
30         --with-sys-location="Unknown" \
31         --with-mib-modules="$(call qstrip,$(BR2_PACKAGE_NETSNMP_WITH_MIB_MODULES))" \
32         --with-out-mib-modules="$(call qstrip,$(BR2_PACKAGE_NETSNMP_WITHOUT_MIB_MODULES))" \
33         --with-out-transports="Unix" \
34         --disable-manuals
35 NETSNMP_INSTALL_STAGING_OPTS = DESTDIR=$(STAGING_DIR) LIB_LDCONFIG_CMD=true install
36 NETSNMP_INSTALL_TARGET_OPTS = DESTDIR=$(TARGET_DIR) LIB_LDCONFIG_CMD=true install
37 NETSNMP_MAKE = $(MAKE1)
38 NETSNMP_CONFIG_SCRIPTS = net-snmp-config
39
40 NETSNMP_BLOAT_MIBS = BRIDGE DISMAN-EVENT DISMAN-SCHEDULE DISMAN-SCRIPT EtherLike RFC-1215 RFC1155-SMI RFC1213 SCTP SMUX
41
42 ifeq ($(BR2_ENDIAN),"BIG")
43         NETSNMP_CONF_OPTS += --with-endianness=big
44 else
45         NETSNMP_CONF_OPTS += --with-endianness=little
46 endif
47
48 # OpenSSL
49 ifeq ($(BR2_PACKAGE_OPENSSL),y)
50         NETSNMP_DEPENDENCIES += openssl
51         NETSNMP_CONF_OPTS += \
52                 --with-openssl=$(STAGING_DIR)/usr/include/openssl
53 ifeq ($(BR2_STATIC_LIBS),y)
54         # openssl uses zlib, so we need to explicitly link with it when static
55         NETSNMP_CONF_ENV += LIBS=-lz
56 endif
57 else ifeq ($(BR2_PACKAGE_NETSNMP_OPENSSL_INTERNAL),y)
58         NETSNMP_CONF_OPTS += --with-openssl=internal
59 else
60         NETSNMP_CONF_OPTS += --without-openssl
61 endif
62
63 ifneq ($(BR2_PACKAGE_NETSNMP_ENABLE_MIBS),y)
64         NETSNMP_CONF_OPTS += --disable-mib-loading
65         NETSNMP_CONF_OPTS += --disable-mibs
66 endif
67
68 ifneq ($(BR2_PACKAGE_NETSNMP_ENABLE_DEBUGGING),y)
69         NETSNMP_CONF_OPTS += --disable-debugging
70 endif
71
72 ifeq ($(BR2_PACKAGE_NETSNMP_SERVER),y)
73         NETSNMP_CONF_OPTS += --enable-agent
74 else
75         NETSNMP_CONF_OPTS += --disable-agent
76 endif
77
78 ifeq ($(BR2_PACKAGE_NETSNMP_CLIENTS),y)
79         NETSNMP_CONF_OPTS += --enable-applications
80 else
81         NETSNMP_CONF_OPTS += --disable-applications
82 endif
83
84 # Remove IPv6 MIBs if there's no IPv6
85 ifneq ($(BR2_INET_IPV6),y)
86 define NETSNMP_REMOVE_MIBS_IPV6
87         rm -f $(TARGET_DIR)/usr/share/snmp/mibs/IPV6*
88 endef
89
90 NETSNMP_POST_INSTALL_TARGET_HOOKS += NETSNMP_REMOVE_MIBS_IPV6
91 endif
92
93 define NETSNMP_REMOVE_BLOAT_MIBS
94         for mib in $(NETSNMP_BLOAT_MIBS); do \
95                 rm -f $(TARGET_DIR)/usr/share/snmp/mibs/$$mib-MIB.txt; \
96         done
97 endef
98
99 NETSNMP_POST_INSTALL_TARGET_HOOKS += NETSNMP_REMOVE_BLOAT_MIBS
100
101 ifeq ($(BR2_PACKAGE_NETSNMP_SERVER),y)
102 define NETSNMP_INSTALL_INIT_SYSV
103         $(INSTALL) -D -m 0755 package/netsnmp/S59snmpd \
104                 $(TARGET_DIR)/etc/init.d/S59snmpd
105 endef
106 endif
107
108 define NETSNMP_STAGING_NETSNMP_CONFIG_FIXUP
109         $(SED)  "s,^includedir=.*,includedir=\'$(STAGING_DIR)/usr/include\',g" \
110                 -e "s,^libdir=.*,libdir=\'$(STAGING_DIR)/usr/lib\',g" \
111                 $(STAGING_DIR)/usr/bin/net-snmp-config
112 endef
113
114 NETSNMP_POST_INSTALL_STAGING_HOOKS += NETSNMP_STAGING_NETSNMP_CONFIG_FIXUP
115
116 $(eval $(autotools-package))