configure: rework libnl detection and fix libnl-2 case (v2)

Rework libnl detection.

PKG_CHECK_MODULES macro appends FOO_CFLAGS and FOO_LIBS flags

Example:
LIBNL_CFLAGS = -I/usr/include/libnl3
LIBNL_LIBS = -lnl-genl-3 -lnl-3

while AC_SEARCH_LIBS only prepends -llibrary to LIBS, so AC_SEARCH_LIBS
is not helpful.

Use pkg-config PC file names to search for minimum package versions:
libnl 3.+ -- libnl-3.0.pc
libnl 2.+ -- libnl-2.0.pc
libnl 1.+ -- libnl-1.0.pc

Patch also changes $has_libnl_ver == 0 error message and suppresses
failed PKG_CHECK_MODULES output.

Austin pointed out that libnl-2.0 provide only libnl-2.0.pc pkg-config
file, while libnl-3 has at least 5 of them (for every `so').
This is why we check libnl-3.0.pc and libnl-genl-3.0.pc in libnl-3 case.

Many thanks to Austin Zhang for help.
v2: Namhyung Kim reported that libnl-1.0.pc on Ubuntu is named libnl-1.pc.

Reported-and-tested-by: Austin Zhang <zhang.austin@gmail.com>
Tested-by: Namhyung Kim <namhyung@gmail.com>
Signed-off-by: Sergey Senozhatsky <sergey.senozhatsky@gmail.com>
1 file changed