Я пишу пакет r, который предоставляет оболочку для библиотеки libSBML
C .
Я использую пакет rcppgsl
в качестве справочного материала, который ищет расположение заголовочных файлов и файлов библиотеки для научной библиотеки GNU GSL
и использует эту информацию для написания сценария configure
и Makevars
и Makevars.in
.Я не собираюсь для Windows в настоящее время.На моем компьютере (macOS) libsbml
(библиотека SBML C) устанавливается в обычных местах, т.е. заголовочные файлы
находятся по адресу - /usr/local/include/sbml
, а библиотечные файлы по адресу - /usr/local/lib
,Действительно, если в моем файле пакета Makevars
я использую следующее, я могу собрать свой пакет .
CXX=clang++
PKG_CPPFLAGS= -I/usr/local/include
PKG_LIBS= $(LAPACK_LIBS) $(BLAS_LIBS) $(FLIBS) /usr/local/lib/libsbml-static.a
Однако я хочу научиться использовать скрипт configure
найти библиотеку и использовать эту информацию для сборки пакета.Соответствующая часть configure.ac
из rcppgsl
:
## Check for non-standard programs: gsl-config(1)
AC_PATH_PROG([GSL_CONFIG], [gsl-config])
## If gsl-config was found, let's use it
if test "${GSL_CONFIG}" != ""; then
# Use gsl-config for header and linker arguments
GSL_CFLAGS=`${GSL_CONFIG} --cflags`
GSL_LIBS=`${GSL_CONFIG} --libs`
else
AC_MSG_ERROR([gsl-config not found, is GSL installed?])
fi
Я заменил GSL_CONFIG
на LIB_SBML
в соответствующих местах, т. Е. Весь файл configure.ac
, который я использую, вставлен ниже (вконец).
Однако я не вижу генерируемых configure
, Makevars
и Makevars.in
(что я вижу в rcppgsl
).Любая помощь здесь будет принята с благодарностью!
Ради завершения вывод ls -l | grep sbml
(в usr/local/include
) будет
drwxrwxr-x 58 root admin 1856 Aug 1 2016 sbml
и ls -l | grep sbml
(в * 1049)*)
-rw-r--r-- 1 root wheel 7970584 Aug 2 2016 libsbml-static.a
-rwxr-xr-x 1 arcadmin staff 10453624 Nov 25 2014 libsbml.5.11.0.dylib
-rwxr-xr-x 1 root wheel 3813572 Aug 2 2016 libsbml.5.13.0.dylib
lrwxr-xr-x 1 root wheel 20 Aug 1 2016 libsbml.5.dylib -> libsbml.5.13.0.dylib
-rw-r--r-- 1 root wheel 13907656 Feb 26 2015 libsbml.a
lrwxr-xr-x 1 arcadmin staff 15 Mar 27 2015 libsbml.dylib -> libsbml.5.dylib
-rwxr-xr-x 1 root wheel 828 Feb 26 2015 libsbml.la
-rwxrwxr-x 1 root admin 13362732 Nov 25 2014 libsbmlj.jnilib
Мой configure.ac
файл -
## Process this file with autoconf to produce a configure script.
##
## Configure.ac for RcppSBML
##
## Copyright (C) 2010 Romain Francois and Dirk Eddelbuettel
## Copyright (C) 2014 - 2015 Dirk Eddelbuettel
##
## Licensed under GNU GPL 2 or later
# The version set here will propagate to other files from here
AC_INIT([Rcppsbml], 0.1.0)
# Checks for common programs using default macros
AC_PROG_CC
## Use gsl-config to find arguments for compiler and linker flags
##
## Check for non-standard programs: gsl-config(1)
AC_PATH_PROG([LIB_SBML], [libsbml])
## If gsl-config was found, let's use it
if test "${LIB_SBML}" != ""; then
# Use gsl-config for header and linker arguments
SBML_CFLAGS=`${LIB_SBML} --cflags`
SBML_LIBS=`${LIB_SBML} --libs`
else
AC_MSG_ERROR([libsbml not found, is SBML installed?])
fi
# Now substitute these variables in src/Makevars.in to create src/Makevars
AC_SUBST(LIB_SBML)
AC_SUBST(LIB_SBML)
AC_OUTPUT(src/Makevars)