Install pkgconfig files for libraries (bug #370).
authorChristoph Junghans <junghans@mpip-mainz.mpg.de>
Fri, 26 Feb 2010 14:32:04 +0000 (15:32 +0100)
committerTeemu Murtola <teemu.murtola@cbr.su.se>
Fri, 26 Feb 2010 14:32:04 +0000 (15:32 +0100)
Applied the patch from bugzilla. As noted in the bugzilla discussion,
the Libs.private fields currently contain several unused libraries,
which could be removed by splitting the @LIBS@ autoconf variable into
more specific libraries.

.gitignore
configure.ac
src/gmxlib/Makefile.am
src/gmxlib/libgmx.pc.in [new file with mode: 0644]
src/kernel/Makefile.am
src/kernel/libgmxpreprocess.pc.in [new file with mode: 0644]
src/mdlib/Makefile.am
src/mdlib/libmd.pc.in [new file with mode: 0644]
src/tools/Makefile.am
src/tools/libgmxana.pc.in [new file with mode: 0644]

index e0a979a734eed27308d41637a529acfc2227d86a..b3a51ccc37007a380ba9596a3522837f05560d82 100644 (file)
@@ -20,5 +20,6 @@ Makefile.in
 Makefile
 .deps
 .libs
+lib*.pc
 Doxyfile
 doxygen-doc
index a0dc44057798e42e5dfe877f6901a134e770e1d8..3a43f8405b44249fb613533e6244ddacfc73bb73 100644 (file)
@@ -538,8 +538,10 @@ AC_TRY_COMPILE([#include<fftw3.h>],,[
 AC_MSG_RESULT(yes)
 if test "$enable_float" = "yes"; then
   AC_CHECK_LIB([fftw3f],main,,AC_MSG_ERROR([Cannot find fftw3f library]))
+  PKG_FFTW="fftw3f"
 else
   AC_CHECK_LIB([fftw3],main,,AC_MSG_ERROR([Cannot find fftw3 library]))
+  PKG_FFTW="fftw3"
 fi
   AC_DEFINE(GMX_FFT_FFTW3,,[Use FFTW3 FFT library])
 ],[
@@ -557,6 +559,7 @@ to use a slower set of FFTs built into Gromacs.
 (Just install FFTW3 unless you really know what you are doing).
 ])
 ])
+  AC_SUBST(PKG_FFTW)
   ;;
 
 mkl*)
@@ -575,6 +578,7 @@ AC_TRY_COMPILE([#include<mkl_dfti.h>],,AC_MSG_RESULT(yes),AC_MSG_ERROR([Cannot f
   if test "$have_mkl" == "no"; then
     # we assume it's a new MKL
     LIBS="$LIBS -liomp5 -lmkl_sequential -lmkl_core"
+    LMKL=" -liomp5 -lmkl_sequential -lmkl_core"
     AC_CHECK_LIB([mkl_intel_lp64],DftiComputeForward,,[have_mkl10_64="no"])
     if test "$have_mkl10_64" == "no"; then
       AC_CHECK_LIB([mkl_intel],DftiComputeForward,,[have_mkl10_32="no"])
@@ -584,6 +588,7 @@ AC_TRY_COMPILE([#include<mkl_dfti.h>],,AC_MSG_RESULT(yes),AC_MSG_ERROR([Cannot f
     fi
   fi
   AC_DEFINE(GMX_FFT_MKL,,[Use Intel MKL FFT library])
+  AC_SUBST(LMKL)
   ;;
 
 fftpack | no)
@@ -729,6 +734,8 @@ if test "$with_gsl" = "yes"; then
   LDFLAGS="$ac_save_LDFLAGS -lgslcblas"
 # gslcblas library found, check main lib
   AC_CHECK_LIB(gsl,main)])])
+  PKG_GSL="gsl"
+  AC_SUBST(PKG_GSL)
 #
 fi
 
@@ -747,6 +754,8 @@ if test "$with_xml" = "yes"; then
    if test "$ac_cv_lib_xml2_main" = "yes"; then
      INCLUDES="$INCLUDES -I/usr/include/libxml2"
    fi
+   PKG_XML2="libxml-2.0"
+   AC_SUBST(PKG_XML2)
 # restore CPPFLAGS
    CPPFLAGS="$ac_save_CPPFLAGS"
 fi
@@ -1072,6 +1081,7 @@ AC_SUBST(CCASFLAGS)
 AC_CONFIG_FILES([ Makefile ])
 AC_CONFIG_FILES([ src/Makefile ])
 AC_CONFIG_FILES([ src/gmxlib/Makefile ])
+AC_CONFIG_FILES([ src/gmxlib/libgmx${LIBSUFFIX}.pc:src/gmxlib/libgmx.pc.in ])
 AC_CONFIG_FILES([ src/gmxlib/gmx_blas/Makefile ])
 AC_CONFIG_FILES([ src/gmxlib/gmx_lapack/Makefile ])
 AC_CONFIG_FILES([ src/gmxlib/selection/Makefile ])
@@ -1096,8 +1106,11 @@ AC_CONFIG_FILES([ include/types/Makefile ])
 AC_CONFIG_FILES([ include/thread_mpi/Makefile ])
 AC_CONFIG_FILES([ include/thread_mpi/atomic/Makefile ])
 AC_CONFIG_FILES([ src/mdlib/Makefile ])
+AC_CONFIG_FILES([ src/mdlib/libmd${LIBSUFFIX}.pc:src/mdlib/libmd.pc.in ])
 AC_CONFIG_FILES([ src/kernel/Makefile ])
+AC_CONFIG_FILES([ src/kernel/libgmxpreprocess${LIBSUFFIX}.pc:src/kernel/libgmxpreprocess.pc.in ])
 AC_CONFIG_FILES([ src/tools/Makefile ])
+AC_CONFIG_FILES([ src/tools/libgmxana${LIBSUFFIX}.pc:src/tools/libgmxana.pc.in ])
 AC_CONFIG_FILES([ src/ngmx/Makefile ])
 AC_CONFIG_FILES([ src/contrib/Makefile ])
 AC_CONFIG_FILES([ scripts/Makefile ])
index 042218e2cb93a6ce150045f277f0b677ff11ff9d..93006148bd5c8cc6cff6c9c9e8111159502a057a 100644 (file)
@@ -72,7 +72,8 @@ libgmx@LIBSUFFIX@_la_SOURCES = \
        tcontrol.c      splitter.c      gmx_cyclecounter.c              \
        gmx_system_xdr.c md5.c vmdio.c vmddlopen.c      sighandler.c
 
-
+pkgconfigdir = ${libdir}/pkgconfig
+pkgconfig_DATA = libgmx@LIBSUFFIX@.pc
 
 # clean all libtool libraries, since the target names might have changed
 CLEANFILES     = *.la *~ \\\#* innerc.c innerf.f mkinl version.h
diff --git a/src/gmxlib/libgmx.pc.in b/src/gmxlib/libgmx.pc.in
new file mode 100644 (file)
index 0000000..c48286a
--- /dev/null
@@ -0,0 +1,16 @@
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+libdir=@libdir@
+includedir=@includedir@
+
+Name: libgmx
+Description: Gromacs default lib
+URL: http://www.gromacs.org
+Version: @VERSION@
+Requires: @PKG_XML2@
+Libs.private: @LIBS@
+# Once deps have been split change to this
+# Libs.private: -lm -lpthread
+Libs: -L${libdir} -lgmx@LIBSUFFIX@
+Cflags: -I${includedir}/gromacs
+
index 44872334d712d4442df05bafd7381f97baf9dca7..e2bd3b239741176720f5594c56ea77d1d3c46c1d 100644 (file)
@@ -6,6 +6,9 @@ AM_CPPFLAGS = -I$(top_srcdir)/include -DGMXLIBDIR=\"$(datadir)/top\"
 
 lib_LTLIBRARIES  = libgmxpreprocess@LIBSUFFIX@.la 
 
+pkgconfigdir = ${libdir}/pkgconfig
+pkgconfig_DATA = libgmxpreprocess@LIBSUFFIX@.pc
+
 LDADD = $(lib_LTLIBRARIES) ../mdlib/libmd@LIBSUFFIX@.la ../gmxlib/libgmx@LIBSUFFIX@.la 
 
 libgmxpreprocess@LIBSUFFIX@_la_LIBADD       = ../mdlib/libmd@LIBSUFFIX@.la
diff --git a/src/kernel/libgmxpreprocess.pc.in b/src/kernel/libgmxpreprocess.pc.in
new file mode 100644 (file)
index 0000000..fe6ff65
--- /dev/null
@@ -0,0 +1,16 @@
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+libdir=@libdir@
+includedir=@includedir@
+
+Name: libgmxpreprocess
+Description: Gromacs preprocess lib
+URL: http://www.gromacs.org
+Version: @VERSION@
+Requires: @PKG_XML2@ libgmx@LIBSUFFIX@ libmd@LIBSUFFIX@ 
+Libs.private: @LIBS@
+# Once deps have been split change to this
+# Libs.private: -lm -lpthread
+Libs: -L${libdir} -lgmxpreprocess@LIBSUFFIX@
+Cflags: -I${includedir}/gromacs
+
index fc04637e3e9642d30d292e627a66fcaaa9786ce6..9f93133a937916addb90ba83a76cfea5ec405894 100644 (file)
@@ -10,6 +10,9 @@ libmd@LIBSUFFIX@_la_LDFLAGS        = -version-info @SHARED_VERSION_INFO@
 
 lib_LTLIBRARIES = libmd@LIBSUFFIX@.la
 
+pkgconfigdir = ${libdir}/pkgconfig
+pkgconfig_DATA = libmd@LIBSUFFIX@.pc
+
 libmd@LIBSUFFIX@_la_SOURCES = \
        calcmu.c        calcvir.c       constr.c        \
        coupling.c      \
diff --git a/src/mdlib/libmd.pc.in b/src/mdlib/libmd.pc.in
new file mode 100644 (file)
index 0000000..d32071c
--- /dev/null
@@ -0,0 +1,16 @@
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+libdir=@libdir@
+includedir=@includedir@
+
+Name: libmd
+Description: Gromacs md lib
+URL: http://www.gromacs.org
+Version: @VERSION@
+Requires: @PKG_XML2@ @PKG_FFTW@ libgmx@LIBSUFFIX@ 
+Libs.private: @LIBS@
+# Once deps have been split change to this
+# Libs.private: -lm -lpthread @LMKL@
+Libs: -L${libdir} -lmd@LIBSUFFIX@
+Cflags: -I${includedir}/gromacs
+
index 567af68ff9d47d68627c1142a50c285aa57e07f3..fb1a49ac5c5dd064862fe05361585a27015a4a74 100644 (file)
@@ -6,6 +6,9 @@ AM_CPPFLAGS = -I$(top_srcdir)/include -DGMXLIBDIR=\"$(datadir)/top\"
 
 lib_LTLIBRARIES = libgmxana@LIBSUFFIX@.la
 
+pkgconfigdir = ${libdir}/pkgconfig
+pkgconfig_DATA = libgmxana@LIBSUFFIX@.pc
+
 libgmxana@LIBSUFFIX@_la_LIBADD         = ../gmxlib/libgmx@LIBSUFFIX@.la        ../mdlib/libmd@LIBSUFFIX@.la    
 libgmxana@LIBSUFFIX@_la_DEPENDENCIES   = ../gmxlib/libgmx@LIBSUFFIX@.la        ../mdlib/libmd@LIBSUFFIX@.la    
 libgmxana@LIBSUFFIX@_la_LDFLAGS        = -version-info @SHARED_VERSION_INFO@
diff --git a/src/tools/libgmxana.pc.in b/src/tools/libgmxana.pc.in
new file mode 100644 (file)
index 0000000..1d10dfb
--- /dev/null
@@ -0,0 +1,16 @@
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+libdir=@libdir@
+includedir=@includedir@
+
+Name: libgmxana
+Description: Gromacs analysis lib
+URL: http://www.gromacs.org
+Version: @VERSION@
+Requires: @PKG_GSL@ libgmx@LIBSUFFIX@ libmd@LIBSUFFIX@
+Libs.private: @LIBS@
+# Once deps have been split change to this
+# Libs.private: -lm -lpthread
+Libs: -L${libdir} -lgmxana@LIBSUFFIX@
+Cflags: -I${includedir}/gromacs
+