summaryrefslogtreecommitdiff
path: root/meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp/0001-Add-pkg-config-support-for-building-applications-and.patch
blob: 6cb9588eb1a02e6c90fefe197acfdb7f446ea89d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
From aea8c2f0bf8004c8da8ca9acb04ab07798cd8068 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 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