[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: configuring apps for guile
From: |
Ludovic Courtès |
Subject: |
Re: configuring apps for guile |
Date: |
Sun, 16 Feb 2020 15:48:07 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux) |
Hello Matt,
Matt Wette <address@hidden> skribis:
> From configure.ac:
>
> guile_build_prefix=`$GUILE -c "(display (assq-ref %guile-build-info
> 'prefix))"`
>
> if test "$guile_build_prefix" == "$prefix"; then
> echo "using paths for installed guile"
> GUILE_SITE_DIR
> GUILE_SITE_GO_DIR
> GUILE_DATA_DIR
> else
> echo "using default paths for guile"
> GUILE_SITE=$prefix/share/guile/site/$GUILE_EFFECTIVE_VERSION
> GUILE_SITE_GO=$prefix/lib/guile/$GUILE_EFFECTIVE_VERSION/site-ccache
> GUILE_DATA=$prefix/share
> AC_SUBST([GUILE_SITE])
> AC_SUBST([GUILE_SITE_GO])
> AC_SUBST([GUILE_DATA])
> fi
I would recommend not even bothering with the first part of the ‘if’,
and instead always default to install files under $prefix (more
precisely: under $datadir and $libdir).
The bits I’ve been using are:
configure.ac:
dnl We require guile.m4, from Guile. Make sure it's available.
m4_pattern_forbid([^GUILE_P])
m4_pattern_allow([^GUILE_PKG_ERRORS])
GUILE_PKG([3.0 2.2 2.0])
GUILE_PROGS
Makefile.am:
moddir = $(datadir)/guile/site/$(GUILE_EFFECTIVE_VERSION)
godir = $(libdir)/guile/$(GUILE_EFFECTIVE_VERSION)/site-ccache
SOURCES = a.scm b.scm c.scm
GOBJECTS = $(SOURCES:%.scm=%.go)
nobase_mod_DATA = $(SOURCES)
nobase_go_DATA = $(GOBJECTS)
I believe Hall¹ does the right thing, making it easier to get started
with all this!
Thanks,
Ludo’.
¹ https://gitlab.com/a-sassmannshausen/guile-hall