From fd53a1ab86839930219017c16d4441289e4cace6 Mon Sep 17 00:00:00 2001 From: Jeremy Puhlman Date: Wed, 19 Feb 2020 16:29:12 -0800 Subject: net-snmp: Add pkgconfig file support Signed-off-by: Jeremy A. Puhlman Signed-off-by: Khem Raj --- ...fig-support-for-building-applications-and.patch | 170 +++++++++++++++++++++ 1 file changed, 170 insertions(+) create mode 100644 meta-networking/recipes-protocols/net-snmp/net-snmp/0001-Add-pkg-config-support-for-building-applications-and.patch (limited to 'meta-networking/recipes-protocols/net-snmp/net-snmp') diff --git a/meta-networking/recipes-protocols/net-snmp/net-snmp/0001-Add-pkg-config-support-for-building-applications-and.patch b/meta-networking/recipes-protocols/net-snmp/net-snmp/0001-Add-pkg-config-support-for-building-applications-and.patch new file mode 100644 index 0000000000..6cb9588eb1 --- /dev/null +++ b/meta-networking/recipes-protocols/net-snmp/net-snmp/0001-Add-pkg-config-support-for-building-applications-and.patch @@ -0,0 +1,170 @@ +From aea8c2f0bf8004c8da8ca9acb04ab07798cd8068 Mon Sep 17 00:00:00 2001 +From: Hugh McMaster +Date: Wed, 3 Apr 2019 21:36:03 +1100 +Subject: [PATCH] Add pkg-config support for building applications and + sub-agents + +The netsnmp package should be used when building Net-SNMP applications. +The netsnmp-agent package should be used when building Net-SNMP subagents. + +Signed-off-by: Hugh McMaster +[ bvanassche: edited makefile code and .pc files; added ./configure changes ] + + +Upstream-Status: Backport +https://sourceforge.net/p/net-snmp/patches/_discuss/thread/a0d66e91dd/f940/attachment/0001-Add-pkg-config-support-for-building-applications-and.patch + +--- + Makefile.in | 2 ++ + Makefile.rules | 30 ++++++++++++++++++++++++++---- + configure | 4 ++++ + configure.ac | 1 + + netsnmp-agent.pc.in | 12 ++++++++++++ + netsnmp.pc.in | 12 ++++++++++++ + 6 files changed, 57 insertions(+), 4 deletions(-) + create mode 100644 netsnmp-agent.pc.in + create mode 100644 netsnmp.pc.in + +diff --git a/Makefile.in b/Makefile.in +index 9dbdde1353b1..ec972636c279 100644 +--- a/Makefile.in ++++ b/Makefile.in +@@ -35,6 +35,7 @@ INSTALLBUILTHEADERS=include/net-snmp/net-snmp-config.h + INSTALLBUILTINCLUDEHEADERS=@FEATUREHEADERS@ + INSTALLBINSCRIPTS=net-snmp-config net-snmp-create-v3-user + INSTALLUCDHEADERS=ucd-snmp-config.h version.h mib_module_config.h ++INSTALL_PKGCONFIG=netsnmp.pc netsnmp-agent.pc + + # + # other install rules. +@@ -275,6 +276,7 @@ configclean: makefileclean + libtool include/net-snmp/net-snmp-config.h \ + net-snmp-config net-snmp-config-x configure-summary \ + net-snmp-create-v3-user net-snmp-create-v3-user-x ++ rm -f *.pc + rm -f mibs/.index + rm -f include/net-snmp/agent/mib_module_config.h \ + include/net-snmp/agent/agent_module_config.h \ +diff --git a/Makefile.rules b/Makefile.rules +index 9e9e9009e5d2..e714f91e725e 100644 +--- a/Makefile.rules ++++ b/Makefile.rules +@@ -85,12 +85,14 @@ subdirs: + # installlibs handles local, ucd and subdir libs. need to do subdir libs + # before bins, sinze those libs may be needed for successful linking + install: installlocalheaders @installucdheaders@ \ +- installlibs \ +- installlocalbin installlocalsbin \ ++ installlibs install_pkgconfig \ ++ installlocalbin installlocalsbin \ + installsubdirs $(OTHERINSTALL) + +-uninstall: uninstalllibs uninstallbin uninstallsbin uninstallheaders \ +- uninstallsubdirs $(OTHERUNINSTALL) ++uninstall: uninstalllibs uninstall_pkgconfig \ ++ uninstallbin uninstallsbin \ ++ uninstallheaders \ ++ uninstallsubdirs $(OTHERUNINSTALL) + + installprogs: installbin installsbin + +@@ -287,6 +289,26 @@ uninstalllibs: + done \ + fi + ++# ++# pkg-config files ++# ++install_pkgconfig: $(INSTALL_PKGCONFIG) ++ @if test "x$(INSTALL_PKGCONFIG)" != x; then \ ++ $(SHELL) $(top_srcdir)/mkinstalldirs $(INSTALL_PREFIX)$(libdir)/pkgconfig; \ ++ for i in $(INSTALL_PKGCONFIG); do \ ++ echo "installing $$i in $(INSTALL_PREFIX)$(libdir)/pkgconfig"; \ ++ done; \ ++ $(INSTALL) $(INSTALL_PKGCONFIG) $(INSTALL_PREFIX)$(libdir)/pkgconfig; \ ++ fi ++ ++uninstall_pkgconfig: ++ @if test "x$(INSTALL_PKGCONFIG)" != x; then \ ++ for i in $(INSTALL_PKGCONFIG); do \ ++ echo "removing $$i from $(INSTALL_PREFIX)$(libdir)/pkgconfig"; \ ++ $(UNINSTALL) $(INSTALL_PREFIX)$(libdir)/pkgconfig/$$i;\ ++ done; \ ++ fi ++ + # + # normal bin binaries + # +diff --git a/configure b/configure +index 5ec44f5ce082..5103a4dc9d88 100755 +--- a/configure ++++ b/configure +@@ -30422,6 +30422,8 @@ ac_config_files="$ac_config_files net-snmp-config:net-snmp-config.in" + + ac_config_files="$ac_config_files net-snmp-create-v3-user:net-snmp-create-v3-user.in" + ++ac_config_files="$ac_config_files netsnmp.pc:netsnmp.pc.in netsnmp-agent.pc:netsnmp-agent.pc.in" ++ + ac_config_files="$ac_config_files dist/generation-scripts/gen-variables:dist/generation-scripts/gen-variables.in" + + ac_config_files="$ac_config_files local/snmpconf" +@@ -31445,6 +31447,8 @@ do + "mibs/Makefile") CONFIG_FILES="$CONFIG_FILES mibs/Makefile:Makefile.top:mibs/Makefile.in:Makefile.rules" ;; + "net-snmp-config") CONFIG_FILES="$CONFIG_FILES net-snmp-config:net-snmp-config.in" ;; + "net-snmp-create-v3-user") CONFIG_FILES="$CONFIG_FILES net-snmp-create-v3-user:net-snmp-create-v3-user.in" ;; ++ "netsnmp.pc") CONFIG_FILES="$CONFIG_FILES netsnmp.pc:netsnmp.pc.in" ;; ++ "netsnmp-agent.pc") CONFIG_FILES="$CONFIG_FILES netsnmp-agent.pc:netsnmp-agent.pc.in" ;; + "dist/generation-scripts/gen-variables") CONFIG_FILES="$CONFIG_FILES dist/generation-scripts/gen-variables:dist/generation-scripts/gen-variables.in" ;; + "local/snmpconf") CONFIG_FILES="$CONFIG_FILES local/snmpconf" ;; + "default") CONFIG_COMMANDS="$CONFIG_COMMANDS default" ;; +diff --git a/configure.ac b/configure.ac +index 4c4dce09d488..d62a02da5d88 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -136,6 +136,7 @@ AC_CONFIG_FILES([net-snmp-config:net-snmp-config.in], + [chmod +x net-snmp-config]) + AC_CONFIG_FILES([net-snmp-create-v3-user:net-snmp-create-v3-user.in], + [chmod +x net-snmp-create-v3-user]) ++AC_CONFIG_FILES([netsnmp.pc:netsnmp.pc.in netsnmp-agent.pc:netsnmp-agent.pc.in]) + AC_CONFIG_FILES([dist/generation-scripts/gen-variables:dist/generation-scripts/gen-variables.in]) + AC_CONFIG_FILES([local/snmpconf]) + +diff --git a/netsnmp-agent.pc.in b/netsnmp-agent.pc.in +new file mode 100644 +index 000000000000..3a1c77bbf814 +--- /dev/null ++++ b/netsnmp-agent.pc.in +@@ -0,0 +1,12 @@ ++prefix=@prefix@ ++exec_prefix=@exec_prefix@ ++includedir=@includedir@ ++libdir=@libdir@ ++ ++Name: netsnmp-agent (@PACKAGE_NAME@) ++Description: SNMP (Simple Network Management Protocol) sub-agent SDK. ++URL: http://www.net-snmp.org ++Version: @PACKAGE_VERSION@ ++Cflags: -I${includedir} ++Libs: -L${libdir} -lnetsnmpmibs -lnetsnmpagent -lnetsnmp ++Libs.private: @LDFLAGS@ @LMIBLIBS@ @LAGENTLIBS@ @PERLLDOPTS_FOR_APPS@ @LNETSNMPLIBS@ @LIBS@ +diff --git a/netsnmp.pc.in b/netsnmp.pc.in +new file mode 100644 +index 000000000000..0a1f5785a4f4 +--- /dev/null ++++ b/netsnmp.pc.in +@@ -0,0 +1,12 @@ ++prefix=@prefix@ ++exec_prefix=@exec_prefix@ ++includedir=@includedir@ ++libdir=@libdir@ ++ ++Name: netsnmp (@PACKAGE_NAME@) ++Description: SNMP (Simple Network Management Protocol) daemon and applications. ++URL: http://www.net-snmp.org ++Version: @PACKAGE_VERSION@ ++Cflags: -I${includedir} ++Libs: -L${libdir} -lnetsnmp ++Libs.private: @LDFLAGS@ @LNETSNMPLIBS@ @LIBS@ @PERLLDOPTS_FOR_APPS@ +-- +2.21.0.196.g041f5ea1cf98 + -- cgit 1.2.3-korg