gash/gash/config.scm.in

59 lines
1.7 KiB
Scheme

;;; Gash --- Guile As SHell
;;; Copyright © 2018 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
;;;
;;; This file is part of Gash.
;;;
;;; Gash is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; Gash is distributed in the hope that it will be useful, but WITHOUT ANY
;;; WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
;;; FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
;;; details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with Gash. If not, see <http://www.gnu.org/licenses/>.
(define-module (gash config)
#:export (%bzip2
%xz
%compress
%gzip
%version))
;;; Commentary:
;;;
;;; Compile-time configuration of gash. When adding a substitution variable
;;; here, make sure to have configure substitute it.
;;;
;;; Code:
(define %version
"@VERSION@")
(define %bzip2
"@BZIP2@")
(define (exec-internal-compress . args)
(let* ((guile "@GUILE@")
(expr `(begin
(set! %load-path ',%load-path)
(set! %load-compiled-path ',%load-compiled-path)
((@@ (gash commands compress) main) "compress" ,@args)))
(script (with-output-to-string (lambda () (write expr)))))
(execl guile guile "--no-auto-compile" "-c" script)))
(define %compress
(let ((external-compress "@COMPRESS@"))
(if (string-null? external-compress)
exec-internal-compress
external-compress)))
(define %gzip
"@GZIP@")
(define %xz
"@XZ@")