| From 4bf83597379523032663c8e95b3786a217c9a849 Mon Sep 17 00:00:00 2001 |
| From: Hugh McMaster <hugh.mcmaster@outlook.com> |
| 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 <hugh.mcmaster@outlook.com> |
| [ 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 9dbdde1353..ec972636c2 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 9e9e9009e5..e714f91e72 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 cad6b74486..8909bffe05 100755 |
| --- a/configure |
| +++ b/configure |
| @@ -31717,6 +31717,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" |
| @@ -32740,6 +32742,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 1622b7c051..898b50f368 100644 |
| --- a/configure.ac |
| +++ b/configure.ac |
| @@ -118,6 +118,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 0000000000..3a1c77bbf8 |
| --- /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 0000000000..0a1f5785a4 |
| --- /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.26.2 |
| |