libmpdclient, libmicrohttpd and jsoncpp provide a .pc file. Use
pkg-config for detecting the libraries and for providing the necessary
details for compiling and linking.
The current build system of upmpdcli does not use PKG_CHECK_MODULES, but
AC_LINK_IFELSE to detect jsoncpp. After bumping jsoncpp version from
1.7.2 to 1.7.5 the detection fails, because the test program does not compile:
'''
In file included from
/usr/arm-buildroot-linux-gnueabi/sysroot/usr/include/json/autolink.h:9:0,
from
/usr/arm-buildroot-linux-gnueabi/sysroot/usr/include/json/json.h:9,
from test.c:1:
/usr/arm-buildroot-linux-gnueabi/sysroot/usr/include/json/config.h:155:9:
error: 'int64_t' does not name a type
typedef int64_t Int64;
^
/usr/arm-buildroot-linux-gnueabi/sysroot/usr/include/json/config.h:156:9:
error: 'uint64_t' does not name a type
typedef uint64_t UInt64;
^
/usr/arm-buildroot-linux-gnueabi/sysroot/usr/include/json/config.h:158:9:
error: 'Int64' does not name a type
typedef Int64 LargestInt;
^
/usr/arm-buildroot-linux-gnueabi/sysroot/usr/include/json/config.h:159:9:
error: 'UInt64' does not name a type
typedef UInt64 LargestUInt;
^
In file included from
/usr/arm-buildroot-linux-gnueabi/sysroot/usr/include/json/json.h:10:0,
from test.c:1:
/usr/arm-buildroot-linux-gnueabi/sysroot/usr/include/json/value.h:184:11:
error: 'UInt64' in namespace 'Json' does not name a type
typedef Json::UInt64 UInt64;
[..]
'''
Instead of fixing the test program use PKG_CHECK_MODULES to check for
jsoncpp.
Closes: #51