[m-dev.] For review: Simplified installation of user libraries
Warwick Harvey
wharvey at cs.monash.edu.au
Wed Oct 20 23:14:20 AEST 1999
Fergus wrote:
> > Anyway, here's a diff of the bindist changes.
>
> A log message would be nice.
bindist/Mmakefile:
bindist/bindist.Makefile:
Added `mercury_cleanup_install' and `vpath_find' to the list of
utilities included in and installed by a binary distribution. These
are used by some of the install targets.
I include below the full log message, in case (like me :-) you're struggling
to remember what this was all about originally.
Estimated hours taken: 30
Added built-in mmake support for installing user libraries.
Mmake.common.in:
Moved the definitions of many of the generic install directories
(plus FULLARCH and LIBGRADES) to scripts/Mmake.vars.in, so they
can be used for things other than just the Mercury compiler.
compiler/modules.m:
Added code to generate appropriate lib<module>.install* targets.
Improved the dependency list generated for the lib<module> target to
include intermodule optimisation files if and only if the
appropriate flags have been set (previously it always depended on
the `.opt' files, but never on the `.trans_opt' files).
scripts/Mmake.rules:
Added some rules for use when installing libraries.
scripts/Mmake.vars.in:
Added the definitions of many of the generic install directories
(plus FULLARCH and LIBGRADES) from Mmake.common.in.
Added support for overriding and/or adding to the definition of
LIBGRADES on a per-library basis.
scripts/mercury_cleanup_install:
New script, for cleaning up after failed installs.
bindist/Mmakefile:
bindist/bindist.Makefile:
Added `mercury_cleanup_install' and `vpath_find' to the list of
utilities included in and installed by a binary distribution. These
are used by some of the install targets.
doc/user_guide.texi:
Documented the new features.
extras/references/Mmakefile:
extras/references/samples/Mmakefile:
Changed to exploit/test new features.
> Hmm, do info_do_mdb and vpath_find need to be installed?
> They are only used during the source installation, I believe.
The user library install stuff uses vpath_find for installing the `.init',
`.a' and `.so' files. It does this because the standard library install
stuff uses it for the same thing, and I just copied the code. At this point
I can't see why it's needed in either context, but I'm probably missing
something.
I've removed the info_to_mdb stuff. A revised diff is below.
(Another bindist bug: @DL_LIBRARY@ is not being substituted by bindists's
configure script, so building shared libraries --- at least on my Linux box
--- barfs.)
Warwick
cvs server: Diffing bindist
Index: bindist/Mmakefile
===================================================================
RCS file: /home/mercury1/repository/mercury/bindist/Mmakefile,v
retrieving revision 1.22
diff -u -r1.22 Mmakefile
--- Mmakefile 1999/09/16 04:46:23 1.22
+++ Mmakefile 1999/10/20 12:59:02
@@ -16,10 +16,13 @@
LIB_FILES = bin doc html inc ints lib mdb/mdb_doc modules
+# Miscellaneous scripts and utilities not processed by configure
UTILS = $(INSTALL_PREFIX)/bin/mkinit$(EXT_FOR_EXE) \
$(INSTALL_PREFIX)/bin/mdemangle$(EXT_FOR_EXE) \
$(INSTALL_PREFIX)/bin/mtags \
- $(INSTALL_PREFIX)/bin/mprof_merge_runs
+ $(INSTALL_PREFIX)/bin/mprof_merge_runs \
+ $(INSTALL_PREFIX)/bin/vpath_find \
+ $(INSTALL_PREFIX)/bin/mercury_cleanup_install
README_ETC = ../COPYING ../COPYING.LIB ../HISTORY ../LIMITATIONS \
../NEWS ../RELEASE_NOTES ../BUGS ../WORK_IN_PROGRESS \
Index: bindist/bindist.Makefile.in
===================================================================
RCS file: /home/mercury1/repository/mercury/bindist/bindist.Makefile.in,v
retrieving revision 1.20
diff -u -r1.20 bindist.Makefile.in
--- bindist.Makefile.in 1999/10/04 09:15:26 1.20
+++ bindist.Makefile.in 1999/10/20 12:59:02
@@ -16,6 +16,7 @@
INSTALL_MAN_DIR = $(INSTALL_PREFIX)/man
INSTALL_ELISP_DIR = $(INSTALL_PREFIX)/lib/mercury/elisp
+# These scripts are generated by configure from the corresponding `.in' file
INSTALL_SCRIPTS = scripts/c2init scripts/mmc \
scripts/mercury_update_interface scripts/mgnuc \
scripts/ml scripts/mmake scripts/mprof \
@@ -29,8 +30,10 @@
LIB_PARTS = bin doc html inc ints lib mdb/mdb_doc modules
+# Any miscellaneous scripts and utilities not processed by configure
UTILS = util/mdemangle util/mkinit util/mtags \
- util/mprof_merge_runs
+ util/mprof_merge_runs util/vpath_find \
+ util/mercury_cleanup_install
#-----------------------------------------------------------------------------#
--------------------------------------------------------------------------
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