bug-automake
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#7995: [PATCH 1/4] Documentation for Guile support.


From: Ludovic Courtès
Subject: bug#7995: [PATCH 1/4] Documentation for Guile support.
Date: Sat, 26 Feb 2011 16:25:26 +0100
User-agent: Gnus/5.110011 (No Gnus v0.11) Emacs/23.2 (gnu/linux)

Hi Ralf,

Ralf Wildenhues <address@hidden> writes:

> address@hidden
> +guile_GUILE = compiled-and-installed.scm
> +nodist_guile_GUILE = not-distributed.scm
> +guile_DATA = not-compiled.scm
> +noinst_GUILE = compiled-but-not-installed.scm
> +dist_noinst_DATA = just-distributed-blob.scm
> +
> +# object files will be installed in respective subdir of guileexecdir.
> +nobase_guile_GUILE = installed-in-subdir/foo.scm
> +
> +pkgguile_GUILE = installed-in-package-dir.scm
> address@hidden example

Looks good to me.

‘guile-tools compile’ supports flags, such as warnings.  How would the
user specify them?

Your other message mentioned GUILEFLAGS, which I thought is meant for
this.  Is it correct?

The name ‘GUILEFLAGS’ could be misleading since these are flags for
‘guile-tools compile’, not for ‘guile’.  ‘GUILECFLAGS’ is already taken,
so we need something else, non-ambiguous.  ‘GUILEC_FLAGS’?
‘GUILE_COMPILE_FLAGS’?  ‘GUILE_COMPILER_FLAGS’?  ‘GUILEGOFLAGS’?
None of them is 100% satisfactory but I don’t have a better idea.

Your other message mentioned per-target flags.  I think it’d be “nice to
have” so you can do things like:

  AM_GUILEGOFLAGS = -Wunused-toplevel -Wunused-variable
  guile_GUILE = foo.scm bar.scm baz.scm
  baz_scm_GOFLAGS = # turn off warnings for this one

> address@hidden
> +guileext_LTLIBRARIES = foo.la
> +foo_la_SOURCES = foo.c
> +foo_la_LDFLAGS = -module -avoid-version
> +foo_la_LIBADD = $(GUILELIBS)
> +AM_CFLAGS = $(GUILECFLAGS)
> +AM_CPPFLAGS = $(GUILECPPFLAGS)
> address@hidden example

OK.  In such a case, there would also be one or more companion .scm
files, which say “dlopen foo.la”.

(Later we can discuss all the tricky things associated with that, such
as the fact that foo.la will be installed in a dir that’s not in the
loader’s search path, so you can the companion .scm file to read “dlopen
@guileextdir@/foo.la”, which causes problems in the uninstalled tree...)

> address@hidden AM_PATH_GUILE (@ovar{version}, @ovar{action-if-found}, @
> +  @ovar{action-if-not-found})

OK.

> address@hidden guiledir
> +The directory name for the installation of user Guile source code.
> +By default, that is @samp{$(datarootdir)/guile/site/@var{x.y}} for
> +Guile versions @var{x.y} greater than 1.8, and
> address@hidden(datarootdir)/guile/site} for version 1.8.
> +
> address@hidden pkgguiledir
> +This is the directory under @code{guiledir} that is named after the
> +package.  That is, it is @samp{$(guiledir)/$(PACKAGE)}.  It is provided
> +as a convenience.
> +
> address@hidden guileexecdir
> +This is the directory where compiled Guile source code will be installed.
> +The default is @samp{$(libdir)/guile/@var{x.y}/ccache} if a Guile Scheme
> +compiler is available, and @samp{$(libdir)} otherwise.
> +
> address@hidden guileextdir
> +This is the directory where Guile C extensions will be installed.
> +The default is @samp{$(libdir)/guile/@var{x.y}/extensions} for versions
> address@hidden greater than 1.8, and @samp{$(libdir)} otherwise.

OK.

Thanks!

Ludo’.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]