X-Git-Url: http://git.hcoop.net/jackhill/guix/guix.git/blobdiff_plain/f5d3a1690cb78ce9413b78352f1030bf4801617a..893299b3ee64d6055ff311f96b1bf792cbf83012:/configure.ac diff --git a/configure.ac b/configure.ac index 7959d08cd7..92dede8014 100644 --- a/configure.ac +++ b/configure.ac @@ -1,14 +1,14 @@ # -*- Autoconf -*- # Process this file with autoconf to produce a configure script. -AC_PREREQ(2.68) +AC_PREREQ([2.69]) AC_INIT([GNU Guix], [m4_esyscmd([build-aux/git-version-gen .tarball-version])], [bug-guix@gnu.org], [guix], [https://www.gnu.org/software/guix/]) AC_CONFIG_AUX_DIR([build-aux]) -AM_INIT_AUTOMAKE([1.14 gnu silent-rules subdir-objects \ +AM_INIT_AUTOMAKE([1.14 gnu tar-ustar silent-rules subdir-objects \ color-tests parallel-tests -Woverride -Wno-portability]) # Enable silent rules by default. @@ -21,43 +21,44 @@ dnl For the C++ code. This must be used early. AC_USE_SYSTEM_EXTENSIONS AM_GNU_GETTEXT([external]) -AM_GNU_GETTEXT_VERSION([0.18.1]) +AM_GNU_GETTEXT_VERSION([0.19.1]) GUIX_SYSTEM_TYPE GUIX_ASSERT_SUPPORTED_SYSTEM +GUIX_CHANNEL_METADATA AM_CONDITIONAL([CROSS_COMPILING], [test "x$cross_compiling" = "xyes"]) AC_ARG_WITH(store-dir, - AC_HELP_STRING([--with-store-dir=PATH], + AS_HELP_STRING([--with-store-dir=PATH], [file name of the store (defaults to /gnu/store)]), [storedir="$withval"], [storedir="/gnu/store"]) AC_SUBST(storedir) AC_ARG_WITH([bash-completion-dir], - AC_HELP_STRING([--with-bash-completion-dir=DIR], + AS_HELP_STRING([--with-bash-completion-dir=DIR], [name of the Bash completion directory]), [bashcompletiondir="$withval"], [bashcompletiondir='${sysconfdir}/bash_completion.d']) AC_SUBST([bashcompletiondir]) AC_ARG_WITH([zsh-completion-dir], - AC_HELP_STRING([--with-zsh-completion-dir=DIR], + AS_HELP_STRING([--with-zsh-completion-dir=DIR], [name of the Zsh completion directory]), [zshcompletiondir="$withval"], [zshcompletiondir='${datadir}/zsh/site-functions']) AC_SUBST([zshcompletiondir]) AC_ARG_WITH([fish-completion-dir], - AC_HELP_STRING([--with-fish-completion-dir=DIR], + AS_HELP_STRING([--with-fish-completion-dir=DIR], [name of the Fish completion directory]), [fishcompletiondir="$withval"], [fishcompletiondir='${datadir}/fish/vendor_completions.d']) AC_SUBST([fishcompletiondir]) AC_ARG_WITH([selinux-policy-dir], - AC_HELP_STRING([--with-selinux-policy-dir=DIR], + AS_HELP_STRING([--with-selinux-policy-dir=DIR], [name of the SELinux policy directory]), [selinux_policydir="$withval"], [selinux_policydir='${datadir}/selinux/']) @@ -95,15 +96,17 @@ m4_pattern_forbid([^GUIX_]) dnl Search for 'guile' and 'guild'. This macro defines dnl 'GUILE_EFFECTIVE_VERSION'. -GUILE_PKG([3.0 2.2]) +GUILE_PKG([3.0]) GUILE_PROGS if test "x$GUILD" = "x"; then AC_MSG_ERROR(['guild' binary not found; please check your Guile installation.]) fi -if test "x$GUILE_EFFECTIVE_VERSION" = "x2.2"; then - PKG_CHECK_MODULES([GUILE], [guile-2.2 >= 2.2.3]) -fi +dnl (guix ui), notably, requires 'default-optimization-level' added in 3.0.3. +PKG_CHECK_MODULES([GUILE], [guile-3.0 >= 3.0.3]) + +dnl Get CFLAGS and LDFLAGS for libguile. +GUILE_FLAGS dnl Installation directories for .scm and .go files. guilemoduledir="${datarootdir}/guile/site/$GUILE_EFFECTIVE_VERSION" @@ -141,10 +144,22 @@ if test "x$guix_cv_have_recent_guile_gcrypt" != "xyes"; then AC_MSG_ERROR([A recent Guile-Gcrypt could not be found; please install it.]) fi +GUIX_CHECK_GUILE_GIT +if test "x$guix_cv_have_recent_guile_git" != "xyes"; then + AC_MSG_ERROR([A recent Guile-Git could not be found; please install it.]) +fi + +dnl Check for the optional Guile-Lib. +GUILE_MODULE_EXPORTS([have_guile_lib], [(htmlprag)], [%strict-tokenizer?]) +AM_CONDITIONAL([HAVE_GUILE_LIB], [test "x$have_guile_lib" = "xyes"]) +AM_COND_IF(HAVE_GUILE_LIB,, + [AC_MSG_WARN([The Guile-Lib requirement was not satisfied (>= 0.2.7); +Some features such as the Go importer will not be usable.])]) + dnl Check for Guile-zlib. -GUILE_MODULE_AVAILABLE([have_guile_zlib], [(zlib)]) -if test "x$have_guile_zlib" != "xyes"; then - AC_MSG_ERROR([Guile-zlib is missing; please install it.]) +GUIX_CHECK_GUILE_ZLIB +if test "x$guix_cv_have_recent_guile_zlib" != "xyes"; then + AC_MSG_ERROR([A recent Guile-zlib could not be found; please install it.]) fi dnl Check for Guile-lzlib. @@ -153,6 +168,11 @@ if test "x$have_guile_lzlib" != "xyes"; then AC_MSG_ERROR([Guile-lzlib is missing; please install it.]) fi +dnl Check for Guile-Avahi. +GUILE_MODULE_AVAILABLE([have_guile_avahi], [(avahi)]) +AM_CONDITIONAL([HAVE_GUILE_AVAHI], + [test "x$have_guile_avahi" = "xyes"]) + dnl Guile-newt is used by the graphical installer. GUILE_MODULE_AVAILABLE([have_guile_newt], [(newt)]) @@ -181,41 +201,6 @@ AC_SUBST([GZIP]) AC_SUBST([BZIP2]) AC_SUBST([XZ]) -AC_ARG_WITH([nix-prefix], - [AS_HELP_STRING([--with-nix-prefix=DIR], - [search for Nix in DIR (for testing purposes and '--disable-daemon' builds)])], - [case "$withval" in - yes|no) ;; - *) - NIX_PREFIX="$withval" - PATH="$NIX_PREFIX/bin:$PATH"; export PATH - AC_SUBST([NIX_PREFIX]) - ;; - esac], - []) - -AC_PATH_PROG([NIX_HASH], [nix-hash]) -if test "x$guix_build_daemon$NIX_HASH" = "xno"; then - AC_MSG_ERROR([Nix programs not found; please install Nix or use `--with-nix-prefix'.]) -fi - -AC_ARG_WITH([nixpkgs], - [AS_HELP_STRING([--with-nixpkgs=DIR], - [search for Nixpkgs in DIR (for testing purposes only)])], - [case "$withval" in - yes|no) AC_MSG_ERROR([Please use `--with-nixpkgs=DIR'.]);; - *) NIXPKGS="$withval";; - esac], - []) - -AC_MSG_CHECKING([for Nixpkgs source tree]) -if test -f "$NIXPKGS/default.nix"; then - AC_MSG_RESULT([$NIXPKGS]) - AC_SUBST([NIXPKGS]) -else - AC_MSG_RESULT([not found]) -fi - LIBGCRYPT_LIBDIR="no" LIBGCRYPT_PREFIX="no" @@ -289,6 +274,7 @@ AC_CONFIG_FILES([Makefile guix/config.scm]) AC_CONFIG_FILES([etc/committer.scm], [chmod +x etc/committer.scm]) +AC_CONFIG_FILES([etc/teams.scm], [chmod +x etc/teams.scm]) AC_CONFIG_FILES([test-env:build-aux/test-env.in], [chmod +x test-env]) AC_CONFIG_FILES([pre-inst-env:build-aux/pre-inst-env.in], [chmod +x pre-inst-env])