瀏覽代碼

build: Add `--with-libgcrypt-prefix'; capture the path to libgcrypt.

* configure.ac: Add `--with-libgcrypt-prefix'.  Substitute `LIBGCRYPT'.

* Makefile.am (.scm.go): Pass $(LIBGCRYPT).

* guix/utils.scm (%libgcrypt): New variable.
  (sha256): Use it.
gn-latest-20200428
Ludovic Courtès 8 年之前
父節點
當前提交
3a310cc017
共有 3 個檔案被更改,包括 24 行新增2 行删除
  1. +1
    -0
      Makefile.am
  2. +17
    -0
      configure.ac
  3. +6
    -2
      guix/utils.scm

+ 1
- 0
Makefile.am 查看文件

@@ -75,6 +75,7 @@ CLEANFILES = $(GOBJECTS) *.log
$(MKDIR_P) `dirname "$@"`
NIX_INSTANTIATE="$(NIX_INSTANTIATE)" \
NIXPKGS="$(NIXPKGS)" \
LIBGCRYPT="$(LIBGCRYPT)" \
GUILE_AUTO_COMPILE=0 \
GUILE_LOAD_COMPILED_PATH="$(top_builddir):$$GUILE_LOAD_COMPILED_PATH" \
$(GUILD) compile -L "$(top_srcdir)" \


+ 17
- 0
configure.ac 查看文件

@@ -58,6 +58,23 @@ else
AC_MSG_WARN([Please use `--with-nixpkgs'.])
fi

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="$withval/lib/libgcrypt"
;;
esac],
[LIBGCRYPT="libgcrypt"])

dnl Library name suitable for `dynamic-link'.
AC_MSG_CHECKING([for libgcrypt shared library name])
AC_MSG_RESULT([$LIBGCRYPT])
AC_SUBST([LIBGCRYPT])

AC_CONFIG_FILES([Makefile
po/Makefile.in
guix-build])


+ 6
- 2
guix/utils.scm 查看文件

@@ -384,14 +384,18 @@ starting from the right of S."
;;; Hash.
;;;

(define %libgcrypt
;; Name of the libgcrypt shared library.
(compile-time-value (or (getenv "LIBGCRYPT") "libgcrypt")))

(define sha256
(cond
((compile-time-value
(false-if-exception (dynamic-link "libgcrypt")))
(false-if-exception (dynamic-link %libgcrypt)))
;; Using libgcrypt.
(let ((hash (pointer->procedure void
(dynamic-func "gcry_md_hash_buffer"
(dynamic-link "libgcrypt"))
(dynamic-link %libgcrypt))
`(,int * * ,size_t)))
(sha256 8)) ; GCRY_MD_SHA256, as of 1.5.0
(lambda (bv)


Loading…
取消
儲存