11ACLOCAL_AMFLAGS = -I m4
22AM_YFLAGS = -d
33
4+ if BUILD_WIN32
5+ pkgdatadir =$(datadir )
6+ pkglibdir =$(libdir ) /plugins
7+ pkglocalstatedir =${localstatedir}
8+ else
9+ pkglocalstatedir ="${localstatedir}/lib/${PACKAGE_NAME}"
10+ endif
11+
12+
13+
414
515BUILT_SOURCES = \
616 src/libcollectdclient/collectd/lcc_features.h \
@@ -100,7 +110,13 @@ lib_LTLIBRARIES = \
100110 libcollectd.la \
101111 libcollectdclient.la
102112
113+ if BUILD_WIN32
114+ # TODO: Build all executables on Windows as well.
115+ sbin_PROGRAMS = \
116+ collectd
103117
118+ bin_PROGRAMS =
119+ else
104120sbin_PROGRAMS = \
105121 collectd \
106122 collectdmon
@@ -110,9 +126,9 @@ bin_PROGRAMS = \
110126 collectd-nagios \
111127 collectd-tg \
112128 collectdctl
129+ endif # BUILD_WIN32
113130
114-
115- noinst_LTLIBRARIES = \
131+ EXTRA_LTLIBRARIES = \
116132 libavltree.la \
117133 libcmds.la \
118134 libcommon.la \
@@ -126,7 +142,6 @@ noinst_LTLIBRARIES = \
126142 libmount.la \
127143 liboconfig.la
128144
129-
130145check_LTLIBRARIES = \
131146 libplugin_mock.la
132147
@@ -160,20 +175,32 @@ PLUGIN_LDFLAGS = \
160175 -module \
161176 -avoid-version \
162177 -export-symbols-regex '\<module_register\>'
163-
178+ if BUILD_WIN32
179+ PLUGIN_LDFLAGS += -shared -no-undefined
180+ endif
164181
165182AM_CPPFLAGS = \
166183 -I$(top_srcdir ) /src -I$(top_srcdir ) /src/daemon \
167184 -DPREFIX='"${prefix}"' \
168185 -DCONFIGFILE='"${sysconfdir}/${PACKAGE_NAME}.conf"' \
169186 -DLOCALSTATEDIR='"${localstatedir}"' \
170- -DPKGLOCALSTATEDIR='"${localstatedir}/lib/${PACKAGE_NAME }"' \
187+ -DPKGLOCALSTATEDIR='"${pkglocalstatedir }"' \
171188 -DPLUGINDIR='"${pkglibdir}"' \
172189 -DPKGDATADIR='"${pkgdatadir}"'
173190
191+ COMMON_LDFLAGS =
192+ if BUILD_WIN32
193+ COMMON_LDFLAGS += -shared -no-undefined
194+ endif
174195
175196# Link to these libraries..
176197COMMON_LIBS = $(PTHREAD_LIBS )
198+ if BUILD_WIN32
199+ COMMON_LIBS += -lws2_32
200+ endif
201+ if BUILD_WITH_GNULIB
202+ COMMON_LIBS += -lgnu
203+ endif
177204if BUILD_WITH_CAPABILITY
178205COMMON_LIBS += -lcap
179206endif
@@ -193,7 +220,6 @@ if BUILD_WITH_LIBDEVINFO
193220COMMON_LIBS += -ldevinfo
194221endif
195222
196-
197223libcollectd_la_SOURCES = \
198224 src/daemon/configfile.c \
199225 src/daemon/configfile.h \
@@ -230,6 +256,7 @@ libcollectd_la_LIBADD = \
230256 libheap.la \
231257 liboconfig.la \
232258 -lm \
259+ -ldl \
233260 $(COMMON_LIBS ) \
234261 $(DLOPEN_LIBS )
235262
@@ -499,6 +526,10 @@ libcollectdclient_la_CPPFLAGS = \
499526 -I$(srcdir ) /src/daemon
500527libcollectdclient_la_LDFLAGS = -version-info 2:0:1
501528libcollectdclient_la_LIBADD = -lm
529+ if BUILD_WIN32
530+ libcollectdclient_la_LDFLAGS += -shared -no-undefined
531+ libcollectdclient_la_LIBADD += -lgnu -lws2_32 -liphlpapi
532+ endif
502533if BUILD_WITH_LIBGCRYPT
503534libcollectdclient_la_CPPFLAGS += $(GCRYPT_CPPFLAGS )
504535libcollectdclient_la_LDFLAGS += $(GCRYPT_LDFLAGS )
@@ -526,7 +557,9 @@ liboconfig_la_SOURCES = \
526557 src/liboconfig/parser.y
527558liboconfig_la_CPPFLAGS = -I$(srcdir ) /src/liboconfig $(AM_CPPFLAGS )
528559liboconfig_la_LDFLAGS = -avoid-version $(LEXLIB )
529-
560+ if BUILD_WIN32
561+ liboconfig_la_LDFLAGS += -shared -no-undefined
562+ endif
530563
531564if BUILD_PLUGIN_AGGREGATION
532565pkglib_LTLIBRARIES += aggregation.la
@@ -567,6 +600,9 @@ apcups_la_LIBADD =
567600if BUILD_WITH_LIBSOCKET
568601apcups_la_LIBADD += -lsocket
569602endif
603+ if BUILD_WITH_GNULIB
604+ apcups_la_LIBADD += -lgnu
605+ endif
570606endif
571607
572608if BUILD_PLUGIN_APPLE_SENSORS
@@ -911,6 +947,9 @@ hddtemp_la_LIBADD =
911947if BUILD_WITH_LIBSOCKET
912948hddtemp_la_LIBADD += -lsocket
913949endif
950+ if BUILD_WITH_GNULIB
951+ hddtemp_la_LIBADD += -lgnu
952+ endif
914953endif
915954
916955if BUILD_PLUGIN_HUGEPAGES
@@ -1019,6 +1058,7 @@ endif # BUILD_PLUGIN_LOAD
10191058if BUILD_PLUGIN_LOGFILE
10201059pkglib_LTLIBRARIES += logfile.la
10211060logfile_la_SOURCES = src/logfile.c
1061+ logfile_la_LIBADD = libcollectd.la
10221062logfile_la_LDFLAGS = $(PLUGIN_LDFLAGS )
10231063endif
10241064
@@ -1081,6 +1121,7 @@ if BUILD_PLUGIN_MATCH_REGEX
10811121pkglib_LTLIBRARIES += match_regex.la
10821122match_regex_la_SOURCES = src/match_regex.c
10831123match_regex_la_LDFLAGS = $(PLUGIN_LDFLAGS )
1124+ match_regex_la_LIBADD = libcollectd.la
10841125endif
10851126
10861127if BUILD_PLUGIN_MATCH_TIMEDIFF
@@ -1103,6 +1144,9 @@ mbmon_la_LIBADD =
11031144if BUILD_WITH_LIBSOCKET
11041145mbmon_la_LIBADD += -lsocket
11051146endif
1147+ if BUILD_WITH_GNULIB
1148+ mbmon_la_LIBADD += -lgnu
1149+ endif
11061150endif
11071151
11081152if BUILD_PLUGIN_MCELOG
@@ -1137,6 +1181,9 @@ memcached_la_LIBADD =
11371181if BUILD_WITH_LIBSOCKET
11381182memcached_la_LIBADD += -lsocket
11391183endif
1184+ if BUILD_WITH_GNULIB
1185+ memcached_la_LIBADD += -lgnu
1186+ endif
11401187endif
11411188
11421189if BUILD_PLUGIN_MEMORY
@@ -1223,10 +1270,16 @@ network_la_SOURCES = \
12231270 src/utils_fbhash.h
12241271network_la_CPPFLAGS = $(AM_CPPFLAGS )
12251272network_la_LDFLAGS = $(PLUGIN_LDFLAGS )
1226- network_la_LIBADD =
1273+ network_la_LIBADD = libcollectd.la
12271274if BUILD_WITH_LIBSOCKET
12281275network_la_LIBADD += -lsocket
12291276endif
1277+ if BUILD_WITH_GNULIB
1278+ network_la_LIBADD += -lgnu
1279+ endif
1280+ if BUILD_WIN32
1281+ network_la_LIBADD += -liphlpapi
1282+ endif
12301283if BUILD_WITH_LIBGCRYPT
12311284network_la_CPPFLAGS += $(GCRYPT_CPPFLAGS )
12321285network_la_LDFLAGS += $(GCRYPT_LDFLAGS )
@@ -1278,6 +1331,9 @@ ntpd_la_LIBADD =
12781331if BUILD_WITH_LIBSOCKET
12791332ntpd_la_LIBADD += -lsocket
12801333endif
1334+ if BUILD_WITH_GNULIB
1335+ ntpd_la_LIBADD += -lgnu
1336+ endif
12811337endif
12821338
12831339if BUILD_PLUGIN_NUMA
@@ -1302,6 +1358,9 @@ olsrd_la_LIBADD =
13021358if BUILD_WITH_LIBSOCKET
13031359olsrd_la_LIBADD += -lsocket
13041360endif
1361+ if BUILD_WITH_GNULIB
1362+ olsrd_la_LIBADD += -lgnu
1363+ endif
13051364endif
13061365
13071366if BUILD_PLUGIN_ONEWIRE
@@ -1431,7 +1490,7 @@ python_la_LDFLAGS = $(PLUGIN_LDFLAGS) $(LIBPYTHON_LDFLAGS)
14311490endif
14321491
14331492if HAVE_LIBMNL
1434- noinst_LTLIBRARIES += libtaskstats.la
1493+ EXTRA_LTLIBRARIES += libtaskstats.la
14351494libtaskstats_la_SOURCES = \
14361495 src/utils_taskstats.c \
14371496 src/utils_taskstats.h
@@ -1589,6 +1648,7 @@ if BUILD_PLUGIN_SYSLOG
15891648pkglib_LTLIBRARIES += syslog.la
15901649syslog_la_SOURCES = src/syslog.c
15911650syslog_la_LDFLAGS = $(PLUGIN_LDFLAGS )
1651+ syslog_la_LIBADD = libcollectd.la
15921652endif
15931653
15941654if BUILD_PLUGIN_TABLE
@@ -1637,6 +1697,7 @@ if BUILD_PLUGIN_TARGET_REPLACE
16371697pkglib_LTLIBRARIES += target_replace.la
16381698target_replace_la_SOURCES = src/target_replace.c
16391699target_replace_la_LDFLAGS = $(PLUGIN_LDFLAGS )
1700+ target_replace_la_LIBADD = libcollectd.la
16401701endif
16411702
16421703if BUILD_PLUGIN_TARGET_SCALE
@@ -1649,6 +1710,7 @@ if BUILD_PLUGIN_TARGET_SET
16491710pkglib_LTLIBRARIES += target_set.la
16501711target_set_la_SOURCES = src/target_set.c
16511712target_set_la_LDFLAGS = $(PLUGIN_LDFLAGS )
1713+ target_set_la_LIBADD = libcollectd.la
16521714endif
16531715
16541716if BUILD_PLUGIN_TARGET_V5UPGRADE
@@ -1701,6 +1763,9 @@ tokyotyrant_la_LIBADD = $(BUILD_WITH_LIBTOKYOTYRANT_LIBS)
17011763if BUILD_WITH_LIBSOCKET
17021764tokyotyrant_la_LIBADD += -lsocket
17031765endif
1766+ if BUILD_WITH_GNULIB
1767+ tokyotyrant_la_LIBADD += -lgnu
1768+ endif
17041769endif
17051770
17061771if BUILD_PLUGIN_TURBOSTAT
@@ -1813,7 +1878,10 @@ write_http_la_SOURCES = \
18131878 src/utils_format_kairosdb.h
18141879write_http_la_CFLAGS = $(AM_CFLAGS ) $(BUILD_WITH_LIBCURL_CFLAGS )
18151880write_http_la_LDFLAGS = $(PLUGIN_LDFLAGS )
1816- write_http_la_LIBADD = libformat_json.la $(BUILD_WITH_LIBCURL_LIBS )
1881+ write_http_la_LIBADD = libformat_json.la $(BUILD_WITH_LIBCURL_LIBS ) libcollectd.la
1882+ if BUILD_WITH_GNULIB
1883+ write_http_la_LIBADD += -lgnu
1884+ endif
18171885endif
18181886
18191887if BUILD_PLUGIN_WRITE_KAFKA
@@ -1832,7 +1900,10 @@ if BUILD_PLUGIN_WRITE_LOG
18321900pkglib_LTLIBRARIES += write_log.la
18331901write_log_la_SOURCES = src/write_log.c
18341902write_log_la_LDFLAGS = $(PLUGIN_LDFLAGS )
1835- write_log_la_LIBADD = libformat_graphite.la libformat_json.la
1903+ write_log_la_LIBADD = libformat_graphite.la libformat_json.la libcollectd.la
1904+ if BUILD_WITH_GNULIB
1905+ write_log_la_LIBADD += -lgnu
1906+ endif
18361907endif
18371908
18381909if BUILD_PLUGIN_WRITE_MONGODB
0 commit comments