[m-dev.] for review: LIBGRADES
Fergus Henderson
fjh at cs.mu.OZ.AU
Tue Nov 28 19:09:35 AEDT 2000
On 28-Nov-2000, Zoltan Somogyi <zs at cs.mu.OZ.AU> wrote:
> configure.in:
> Add options that allow the user to specify the set of library grades
> more precisely. Also add an option, --enable-minimum-grades,
> that reduces the installed grades to the minimum (asm_fast.gc,
> asm_fast.gc.debug.tr and hlc.gc), since this is useful to minimize
> installation time e.g. when installing a release of the day on a
> laptop.
These options should be documented in the INSTALL file.
If you want to make it more configurable, one possibility that
you might want to consider is adding a `--enable-libgrades=<list>'
option, e.g. `--enable-libgrades="hlc.gc asm_fast.gc.debug.tr"'.
> Index: configure.in
> ===================================================================
> RCS file: /home/mercury1/repository/mercury/configure.in,v
> retrieving revision 1.235
> diff -u -b -r1.235 configure.in
> --- configure.in 2000/11/23 06:46:25 1.235
> +++ configure.in 2000/11/28 02:39:30
> @@ -1784,37 +1784,93 @@
> [ --enable-all-grades install all the different versions of the library],
> enable_all_grades="$enableval",enable_all_grades=no)
>
> +
> +AC_ARG_ENABLE(all-hlc-grades,
> +[ --enable-all-hlc-grades install all the hlc grades],
> +enable_all_hlc_grades=yes,enable_all_hlc_grades=no)
> +
>
> +AC_ARG_ENABLE(nogc-grades,
> +[ --enable-nogc-grades install no-gc versions of the library],
> +enable_nogc_grades="$enableval",enable_nogc_grades=yes)
For options which are enabled by default, the documentation
should say how to disable them, not how to enable them.
So that should be
[ --disable-nogc-grades don't install no-gc versions of the library],
enable_nogc_grades="$enableval",enable_nogc_grades=yes)
> +AC_ARG_ENABLE(profiling-grades,
> +[ --enable-profiling-grades install profiling versions of the library],
> +enable_profiling_grades="$enableval",enable_profiling_grades=yes)
> +
> +AC_ARG_ENABLE(trailing-grades,
> +[ --enable-trailing-grades install trailing versions of the library],
> +enable_trailing_grades="$enableval",enable_trailing_grades=yes)
...
> +AC_ARG_ENABLE(par-grades,
> +[ --enable-par-grades install thread-safe versions of the library],
> +enable_par_grades="$enableval",enable_par_grades=yes)
Likewise for all of these.
> +AC_ARG_ENABLE(minimum-grades,
> +[ --enable-minimum-grades install only the essential versions of the library],
>From the autoconf documentation for the `--enable-FEATURE' feature:
"`--enable-FEATURE' options ... should only cause parts of the program
to be built rather than left out." I agree with this; it is not a
good idea for `--enable' options to cause something to be disabled.
I suggest you invert the sense of the option, naming it
`enable_most_grades', and have it on by default, thus documenting
its inverse, i.e. `--disable-most-grades'.
> +if test "$enable_nogc_grades" = yes; then
> + # add `.prof' (--profiling) grades, if time profiling is supported,
> + # and a `.memprof' (--memory-profiling) grade.
Shouldn't that test "enable_profiling_grades" rather than
"enable_nogc_grades"?
--
Fergus Henderson <fjh at cs.mu.oz.au> | "I have always known that the pursuit
| of excellence is a lethal habit"
WWW: <http://www.cs.mu.oz.au/~fjh> | -- the last words of T. S. Garp.
--------------------------------------------------------------------------
mercury-developers mailing list
Post messages to: mercury-developers at cs.mu.oz.au
Administrative Queries: owner-mercury-developers at cs.mu.oz.au
Subscriptions: mercury-developers-request at cs.mu.oz.au
--------------------------------------------------------------------------
More information about the developers
mailing list