From 1049583ecc26a32b5afdedd7c49cd252a1aab74a Mon Sep 17 00:00:00 2001
From: Maxime Devos <maxime.devos@student.kuleuven.be>
Date: Sun, 6 Dec 2020 11:29:25 +0100
Subject: [PATCH 27/27] build: Install *.go and *.scm in separate directories

* Makefile.am (moduledir): new variable
* Makefile.am (objectdir): new variable
* Makefile.am: install *.scm and *.go separately
* configure.ac: determine the installation directory for
  module source code and compiled code
---
 Makefile.am  |  5 ++++-
 configure.ac | 17 ++++++++++++-----
 2 files changed, 16 insertions(+), 6 deletions(-)

diff --git a/Makefile.am b/Makefile.am
index 93c7029..ba7253d 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1,5 +1,6 @@
 # Guile-GNUnet --- Guile bindings for GNUnet.
 # Copyright © 2015 Ludovic Courtès <ludo@gnu.org>
+# Copyright © 2020 Maxime Devos <maxime.devos@student.kuleuven.be>
 #
 # This file is part of Guile-GNUnet.
 #
@@ -31,8 +32,10 @@ MODULES =					\
 
 GOBJECTS = $(MODULES:%.scm=%.go) gnu/gnunet/config.go
 
+moduledir = @guilemoduledir@
+objectdir  = @guileobjectdir@
 nobase_dist_guilemodule_DATA = $(MODULES)
-nobase_nodist_guilemodule_DATA = $(GOBJECTS)
+nobase_nodist_object_DATA = $(GOBJECTS)
 
 # TODO: Handle tests.
 
diff --git a/configure.ac b/configure.ac
index b4405c1..a309220 100644
--- a/configure.ac
+++ b/configure.ac
@@ -21,16 +21,23 @@ dnl We require pkg.m4 (from pkg-config) and guile.m4 (from Guile.)
 dnl Make sure they are available.
 m4_pattern_forbid([PKG_CHECK_MODULES])
 m4_pattern_forbid([GUILE_MODULE_AVAILABLE])
+m4_pattern_forbid([GUILE_PKG])
+m4_pattern_forbid([GUILE_PROGS])
+m4_pattern_allow([GUILE_PKG_ERRORS])
+GUILE_PKG([2.0])
+GUILE_PROGS
 
-PKG_CHECK_MODULES([GUILE], [guile-2.0 >= 2.0.7])
-AC_PATH_PROG([GUILE], [guile])
-AC_PATH_PROG([GUILD], [guild])
 if test "x$GUILD" = "x"; then
    AC_MSG_ERROR(['guild' binary not found; please check your Guile 2.x installation.])
 fi
-
-guilemoduledir="${datarootdir}/guile/site/2.0"
+if test "x$GUILE_EFFECTIVE_VERSION" = "x2.0"; then
+  PKG_CHECK_MODULES([GUILE], [guile-2.0 >= 2.0.7])
+fi
+dnl Installation directories for .scm and .go files.
+guilemoduledir="${datarootdir}/guile/site/$GUILE_EFFECTIVE_VERSION"
+guileobjectdir="${libdir}/guile/$GUILE_EFFECTIVE_VERSION/site-ccache"
 AC_SUBST([guilemoduledir])
+AC_SUBST([guileobjectdir])
 
 AC_CACHE_SAVE
 
-- 
2.29.2

