| From 1988f6228225e10bccc50941798f1e1b4ca1ff62 Mon Sep 17 00:00:00 2001 |
| From: Jeffery To <jeffery.to@gmail.com> |
| Date: Fri, 18 Jun 2021 15:46:47 +0800 |
| Subject: [PATCH] More specific library linking |
| |
| Currently, the main binary and all output modules are linked to the same |
| set of libraries. This changes the linking so that only the main binary |
| is linked to pcap, and only addrwatch_mysql is linked to mysqlclient. |
| |
| This allows the main binary and output modules to be packaged separately |
| with fewer dependencies for each individual package. |
| --- |
| configure.ac | 4 ++-- |
| src/Makefile.am | 3 ++- |
| 2 files changed, 4 insertions(+), 3 deletions(-) |
| |
| --- a/configure.ac |
| +++ b/configure.ac |
| @@ -12,7 +12,7 @@ optional_modules="" |
| AC_SUBST([optional_modules]) |
| |
| # Checks for libraries. |
| -AC_CHECK_LIB([pcap], [pcap_open_live]) |
| +AC_CHECK_LIB([pcap], [pcap_open_live], :) |
| AC_CHECK_LIB([rt], [shm_open]) |
| |
| PKG_CHECK_MODULES(LIBEVENT, [libevent >= 1.4], , [ |
| @@ -46,7 +46,7 @@ AC_ARG_ENABLE([sqlite3], |
| ) |
| AC_ARG_ENABLE([mysql], |
| AS_HELP_STRING([--enable-mysql], [Enable MySQL database output]), |
| - AC_CHECK_LIB([mysqlclient], [mysql_real_connect], , [ |
| + AC_CHECK_LIB([mysqlclient], [mysql_real_connect], :, [ |
| AC_MSG_ERROR([Unable to find libmysqlclient.]) |
| ]) |
| optional_modules="${optional_modules} addrwatch_mysql" |
| --- a/src/Makefile.am |
| +++ b/src/Makefile.am |
| @@ -9,5 +9,6 @@ addrwatch_stdout_SOURCES = addrwatch_std |
| addrwatch_syslog_SOURCES = addrwatch_syslog.c shm_client.c shm_client.h |
| addrwatch_mysql_SOURCES = addrwatch_mysql.c shm_client.c shm_client.h util.c util.h |
| |
| -addrwatch_LDADD = @LIBEVENT_LIBS@ |
| +addrwatch_LDADD = @LIBEVENT_LIBS@ -lpcap |
| +addrwatch_mysql_LDADD = -lmysqlclient |
| |