unofficial mirror of guile-devel@gnu.org 
 help / color / mirror / Atom feed
From: Andy Wingo <wingo@pobox.com>
To: Freja Nordsiek <fnordsie@gmail.com>
Cc: guile-devel@gnu.org
Subject: Re: [PATCH] Add to the 2.1.x branch GUILE_SITE_CCACHE_DIR and GUILE_EXTENSION_DIR Autoconf macros along with needed siteccachdir entry in pkgconfig file
Date: Mon, 13 Mar 2017 13:46:46 +0100	[thread overview]
Message-ID: <878to9s5s9.fsf@pobox.com> (raw)
In-Reply-To: <CAOqf98oCtqOocYedPD5Bpei+G_AM9iGOJ1PDgp3mDeFUifyR2A@mail.gmail.com> (Freja Nordsiek's message of "Sun, 12 Mar 2017 10:38:29 +0100")

On Sun 12 Mar 2017 10:38, Freja Nordsiek <fnordsie@gmail.com> writes:

> Guile provides the GUILE_SITE_DIR Autoconf macro for finding where a
> user should install scheme files, but there are no equivalent macros
> for the directories to put compiled go files and C extensions into.
> The patch adds the equivalent macros to do this for the 2.1.x branch
> (it might work as is for the 2.0.x branch but I haven't tested it),
> which are more or less copy-pastes of the GUILE_SITE_DIR macro.

The patch looks good.  WDYT though about instead extending
GUILE_SITE_DIR to search for the ccache dir and the extension dir and
AC_SUBST them?  It would be nice to avoid adding more ceremonial lines
to configure.ac.

(I really wish I hadn't named it "ccache"; oh well, too late in 2.1.x to
change.)

> GUILE_SITE_CCACHE_DIR does require an additional entry to be put into
> Guile's pkgconfig file, which I named siteccachedir to fit in with the
> rest. One major issue is that the GUILE_SITE_CCACHE_DIR macro will
> fail for any version of Guile that does not have the new entry in the
> pkgconfig file, which would be all 2.0.x and 2.1.x releases thus far.
> One way around it would be to instead of using pkgconfig for it would
> to instead use the following macro that uses the Guile interpreter
> itself to find the directory (this is more or less the version I use
> in one of my own projects).
>
>     AC_DEFUN([GUILE_SITE_CCACHE_DIR],
>      [AC_REQUIRE([GUILE_PROGS])
>       AC_MSG_CHECKING([for Guile site-ccache directory])
>       GUILE_SITE_CCACHE=`$GUILE -c "(display (%site-ccache-dir))"`
>       if test $? != "0" -o "$GUILE_SITE_CCACHE" = ""; then
>         AC_MSG_FAILURE([siteccachedir not found])
>       fi
>       AC_MSG_RESULT([$GUILE_SITE_CCACHE])
>       AC_SUBST([GUILE_SITE_CCACHE])
>      ])

A fallback sounds good.  In that case it would work fine with 2.0.  We
can add more paths to the pkg-config file as well, in parallel; it's
better for other build systems.

Andy



  reply	other threads:[~2017-03-13 12:46 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-03-12  9:38 [PATCH] Add to the 2.1.x branch GUILE_SITE_CCACHE_DIR and GUILE_EXTENSION_DIR Autoconf macros along with needed siteccachdir entry in pkgconfig file Freja Nordsiek
2017-03-13 12:46 ` Andy Wingo [this message]
2017-03-14 14:08   ` Freja Nordsiek
2017-03-14 14:53     ` Andy Wingo
2017-03-14 15:31       ` Freja Nordsiek
2017-03-14 15:56         ` Andy Wingo
2017-03-14 16:10           ` Freja Nordsiek
2017-03-14 19:41             ` Freja Nordsiek
2017-03-15  7:46               ` Andy Wingo
2017-03-15  7:49                 ` Freja Nordsiek

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/guile/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=878to9s5s9.fsf@pobox.com \
    --to=wingo@pobox.com \
    --cc=fnordsie@gmail.com \
    --cc=guile-devel@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).