[R-pkg-devel] set PKG_CONFIG_PATH before installing a package
Dirk Eddelbuettel
edd @end|ng |rom deb|@n@org
Mon Apr 8 21:14:24 CEST 2019
On 8 April 2019 at 10:59, Travers Ching wrote:
| I think the correct way to do it is through the configure script. See
| for example the Cairo package that uses pkg-config. Configure scripts
| are slightly hard to work through in my experience, but are worth it
| if you need customization of the installation environment.
Or from the RcppRedis package you and I stand behind :)
[...]
## ... but check for pkg-config
AC_DEFUN([AC_PROG_PKGCONFIG], [AC_CHECK_PROG(PKGCONFIG,pkg-config,yes)])
AC_PROG_PKGCONFIG
## use pkg-config for hiredis
##
if test x"${PKGCONFIG}" == x"yes"; then
## check via pkg-config for hiredis
if pkg-config --exists hiredis; then
## obtain cflags and obtain libs
hiredis_cxxflags=`pkg-config --cflags hiredis`
hiredis_libs=`pkg-config --libs hiredis`
## no need to build libhiredis.a
hiredis_tgt=""
else
AC_MSG_WARN([pkg-config exists but hiredis is not available.])
fi
fi
## And make sure these flags are used for the tests below.
CPPFLAGS="${hiredis_cxxflags} ${CPPFLAGS}"
CXXFLAGS="${hiredis_cxxflags} ${CXXFLAGS}"
[...]
There is more at
https://github.com/eddelbuettel/rcppredis/blob/master/configure.ac
but is a key part.
Another useful trick is to just write a shell script 'configure' as one does
not have to use 'autoconf' to produce 'configure' see eg
https://github.com/Rblp/Rblpapi/blob/master/configure
for that approach, or one of Jeroen's packages.
Last but not least you can call 'pkg-config' directly from src/Makevars too.
Dirk
--
http://dirk.eddelbuettel.com | @eddelbuettel | edd using debian.org
More information about the R-package-devel
mailing list