package/libnids: disable libnet only if not available
authorGuillaume W. Bres <guillaume.bressaix@gmail.com>
Wed, 24 Jun 2020 12:17:42 +0000 (14:17 +0200)
committerYann E. MORIN <yann.morin.1998@free.fr>
Wed, 24 Jun 2020 19:16:43 +0000 (21:16 +0200)
libnids can be built against an existing libnet lib,
take advantage of that.

Unfortunately, pkg-config is not available for libnet,
so configure --with-libnet is our only option at the
moment.

--with-libnet expects a build directory,
not an installation path like in our context.
We use --with-libnet=yes to skip tests that would fail.
In this situation, 'LIBNET' goes undefined, so we
need to define it ourselves.
This works because we make sure -lnet is installed
prior anything related to libnids.

Signed-off-by: Guillaume W. Bres <guillaume.bressaix@gmail.com>
[yann.morin.1998@free.fr: slightly compact the code]
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
package/libnids/libnids.mk

index f0330787c7763c118ab56349452f4dda71095cb8..4a67215242ae42cfb9235389b99cbdf69b7aeae3 100644 (file)
@@ -11,7 +11,18 @@ LIBNIDS_LICENSE_FILES = COPYING
 LIBNIDS_INSTALL_STAGING = YES
 LIBNIDS_DEPENDENCIES = host-pkgconf libpcap
 LIBNIDS_AUTORECONF = YES
-LIBNIDS_CONF_OPTS = --disable-libnet
+
+# disable libnet if not available
+# Tests in configure.in expect --with-libnet=$build_dir
+# not an installation patch like in our context.
+# We use with-libnet=yes to skip the unusual paths tests.
+# But 'LNETLIB' gets left out, so we need to define it ourselves.
+ifeq ($(BR2_PACKAGE_LIBNET),y)
+LIBNIDS_DEPENDENCIES += libnet
+LIBNIDS_CONF_OPTS += --enable-libnet --with-libnet=yes LNETLIB=-lnet
+else
+LIBNIDS_CONF_OPTS += --disable-libnet
+endif
 
 # disable libglib2 if not available
 # The test in configure.in is flawed: passing --enable-libglib would also