guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

01/05: build: Automatically determine libgcrypt's file name.


From: Ludovic Courtès
Subject: 01/05: build: Automatically determine libgcrypt's file name.
Date: Tue, 06 Oct 2015 21:51:13 +0000

civodul pushed a commit to branch master
in repository guix.

commit dd01fecd23a4ded46b99a51dc08ac5d964dbcd53
Author: Ludovic Courtès <address@hidden>
Date:   Tue Oct 6 22:09:40 2015 +0200

    build: Automatically determine libgcrypt's file name.
    
    * m4/guix.m4 (GUIX_LIBGCRYPT_LIBDIR): New macro.
    * configure.ac: Use it when no --with-libgcrypt-* option was passed.
    * README: Do not recommend --with-libgcrypt-prefix.
    
    Co-authored-by: 宋文武 <address@hidden>
---
 README       |    1 -
 configure.ac |   31 +++++++++++++++++--------------
 m4/guix.m4   |   15 +++++++++++++++
 3 files changed, 32 insertions(+), 15 deletions(-)

diff --git a/README b/README
index df52822..f05a4b5 100644
--- a/README
+++ b/README
@@ -59,7 +59,6 @@ To do so:
       guix environment guix
 
   - Re-run the 'configure' script passing it the option
-    '--with-libgcrypt-prefix=$HOME/.guix-profile/', as well as
     '--localstatedir=/somewhere', where '/somewhere' is the 'localstatedir'
     value of the currently installed Guix (failing to do that would lead the
     new Guix to consider the store to be empty!).
diff --git a/configure.ac b/configure.ac
index 1cfe876..38e9ec5 100644
--- a/configure.ac
+++ b/configure.ac
@@ -132,23 +132,21 @@ else
    AC_MSG_RESULT([not found])
 fi
 
+LIBGCRYPT="libgcrypt"
+LIBGCRYPT_LIBDIR="no"
+LIBGCRYPT_PREFIX="no"
+
 AC_ARG_WITH([libgcrypt-prefix],
   [AS_HELP_STRING([--with-libgcrypt-prefix=DIR], [search for GNU libgcrypt in 
DIR])],
   [case "$withval" in
     yes|no)
-      LIBGCRYPT="libgcrypt"
-      LIBGCRYPT_PREFIX="no"
-      LIBGCRYPT_LIBDIR="no"
       ;;
     *)
       LIBGCRYPT="$withval/lib/libgcrypt"
       LIBGCRYPT_PREFIX="$withval"
       LIBGCRYPT_LIBDIR="$withval/lib"
       ;;
-   esac],
-  [LIBGCRYPT="libgcrypt"
-   LIBGCRYPT_PREFIX="no"
-   LIBGCRYPT_LIBDIR="no"])
+   esac])
 
 AC_ARG_WITH([libgcrypt-libdir],
   [AS_HELP_STRING([--with-libgcrypt-libdir=DIR],
@@ -162,13 +160,18 @@ AC_ARG_WITH([libgcrypt-libdir],
       LIBGCRYPT="$withval/libgcrypt"
       LIBGCRYPT_LIBDIR="$withval"
       ;;
-   esac],
-  [if test "x$LIBGCRYPT" = x; then
-      LIBGCRYPT="libgcrypt"
-   fi
-   if test "x$LIBGCRYPT_LIBDIR" = x; then
-      LIBGCRYPT_LIBDIR="no"
-   fi])
+   esac])
+
+dnl If none of the --with-libgcrypt-* options was used, try to determine the
+dnl absolute file name of libgcrypt.so.
+case "x$LIBGCRYPT_PREFIX$LIBGCRYPT_LIBDIR" in
+  xnono)
+    GUIX_LIBGCRYPT_LIBDIR([LIBGCRYPT_LIBDIR])
+    if test "x$LIBGCRYPT_LIBDIR" != x; then
+      LIBGCRYPT="$LIBGCRYPT_LIBDIR/libgcrypt"
+    fi
+    ;;
+esac
 
 dnl Library name suitable for `dynamic-link'.
 AC_MSG_CHECKING([for libgcrypt shared library name])
diff --git a/m4/guix.m4 b/m4/guix.m4
index 2113383..d464a47 100644
--- a/m4/guix.m4
+++ b/m4/guix.m4
@@ -270,3 +270,18 @@ AC_DEFUN([GUIX_CHECK_LIBC_MOUNT], [
        guix_cv_libc_has_mount="no"
      fi])
 ])
+
+dnl GUIX_LIBGCRYPT_LIBDIR VAR
+dnl
+dnl Attempt to determine libgcrypt's LIBDIR; store the result in VAR.
+AC_DEFUN([GUIX_LIBGCRYPT_LIBDIR], [
+  AC_PATH_PROG([LIBGCRYPT_CONFIG], [libgcrypt-config])
+  AC_CACHE_CHECK([libgcrypt's library directory],
+    [guix_cv_libgcrypt_libdir],
+    [if test "x$LIBGCRYPT_CONFIG" != "x"; then
+       guix_cv_libgcrypt_libdir=`$LIBGCRYPT_CONFIG --libs | sed -e 
"s/.*-L\([[^ ]]\+\)[[[:blank:]]]\+-lgcrypt.*/\1/g"`
+     else
+       guix_cv_libgcrypt_libdir=""
+     fi])
+  $1="$guix_cv_libgcrypt_libdir"
+])



reply via email to

[Prev in Thread] Current Thread [Next in Thread]