[m-dev.] For review: Simplified installation of user libraries

Warwick Harvey wharvey at cs.monash.edu.au
Wed Oct 20 00:55:42 AEST 1999


Hi.  Sorry this took so long.  I tried to send it the night I was leaving 
for overseas, but a scheduled power disconnection in another building meant 
I lost the router for my subnet, and it wouldn't let me mail without at 
least doing a DNS lookup...  :-(

I also hope this hasn't been obsoleted by any of the 100 or so messages I 
haven't had a chance to read yet.  :-)

> > While investigating this, I came up with a couple more questions.  What's 
> > the difference between UTILS and SCRIPT_FILES? The obvious thing to me 
> > would be that the former refers to files in the util subdirectory (compiled 
> > binaries) whereas the latter refers to files in the scripts subdirectory 
> > (architecture independent).  But there are a number of files from the 
> > scripts subdirectory mentioned in the UTILS variable.
> 
> The difference is that SCRIPT_FILES are named *.in and need to get
> processed by autoconf, in case the bindist is installed with a different
> `--prefix', whereas UTILS can just be copied directly.
> 
> Yes, the names are misleading; originally everything in the scripts
> directory was named *.in...  if you want to change them, I'd be happy.

I couldn't think of good names, so I've "fixed" this by documentation.  :-)

> That is a bug.  It should be `u+w'.

... which you've now fixed.

There are a couple more bugs in the current bindist stuff.  In particular, 
the list of `realclean' targets in the samples and extras directory is way 
out of date.  In order to avoid the same problem happening again, I tried to 
fix this with a more general command:

        -dirs=`find ../samples/* ../extras/* -type d -print |   \
                        fgrep -v CVS | fgrep -v Mercury` &&     \
        for dir in $$dirs ; do                                  \
                ( cd $$dir ; mmake realclean )                  \
        done

However, when invoked from this Mmakefile, the `realclean' targets of at 
least one module (references/extras --- but I suspect others will also be 
affected similarly) do not function correctly, even though they work fine 
when invoked on their own.  The `global.realclean' target is not being 
invoked, only the recursive `realclean's.  I didn't have time to chase this 
down any further.

These fixes would probably best be separate changes anyway.

Anyway, here's a diff of the bindist changes.

Warwick

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/19 14:45:09
@@ -16,18 +16,21 @@
 
 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/info_to_mdb$(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 \
                  ../VERSION
 
 SCRIPT_FILES   = ../scripts/*.in ../scripts/*.sh-subr \
-                 ../scripts/Mmake.rules \
-                 ../scripts/gud.el
+                 ../scripts/Mmake.rules ../scripts/gud.el
 
 CONFIG_FILES   = ../config.sub ../config.guess ../install-sh
 
Index: bindist/bindist.Makefile.in
===================================================================
RCS file: /home/mercury1/repository/mercury/bindist/bindist.Makefile.in,v
retrieving revision 1.19
diff -u -r1.19 bindist.Makefile.in
--- bindist.Makefile.in 1999/03/16 06:11:36     1.19
+++ bindist.Makefile.in 1999/10/19 14:45:09
@@ -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/info_to_mdb 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