[project @ 1997-03-23 22:28:03 by sof]
authorsof <unknown>
Sun, 23 Mar 1997 22:28:06 +0000 (22:28 +0000)
committersof <unknown>
Sun, 23 Mar 1997 22:28:06 +0000 (22:28 +0000)
2.02 release update

distrib/ANNOUNCE
distrib/INSTALL [new file with mode: 0644]
distrib/Makefile-bin.in
distrib/PATCHLEVEL [new file with mode: 0644]
distrib/README
distrib/configure-bin.in

index 1938eae..011c1c9 100644 (file)
@@ -1,5 +1,5 @@
-            The Glasgow Haskell Compiler -- version 2.02
-            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+         The Glasgow Haskell Compiler -- version 2.02
+         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
 We are pleased to announce the first release of the Glasgow Haskell
 Compiler (GHC, version 2.02) for *Haskell 1.4*.  Sources and binaries
 
 We are pleased to announce the first release of the Glasgow Haskell
 Compiler (GHC, version 2.02) for *Haskell 1.4*.  Sources and binaries
@@ -12,27 +12,27 @@ Report is online at
 
        http://haskell.cs.yale.edu/1.4/haskell-report.html
 
 
        http://haskell.cs.yale.edu/1.4/haskell-report.html
 
-GHC 2.02 is a beta-quality release:
+GHC 2.02 is a beta-quality release - some highlights:
 
   * It is reliable.
 
   * It is reliable.
-    It has been extensively tested against a large suite of Haskell 1.2 
-    programs, but not so extensively tested against Haskell 1.4 programs 
-    because we don't have a comprehensive set (Donations of Haskell 1.4
-    programs to our test suite are most welcome).
+     It has been extensively tested against a large suite of Haskell 1.2 
+     programs, but not so extensively tested against Haskell 1.4 programs 
+     because we don't have a comprehensive set (Donations of Haskell 1.4
+     programs to our test suite are most welcome).
 
   * It should generate good code.
 
   * It should generate good code.
-    All the optimisations that GHC 0.29 used to do are back in, with 
-    the exception of specialisation.  It ought to be the case that
-    GHC 2.02 outperforms GHC 0.29, because it has a much better
-    handle on cross-module inlining, but there's a good chance that
-    there are performance "holes" lurking.  We have yet to make
-    a systematic comparison.  (Please send us programs where 2.02
-    does noticeably worse than 0.29.)
+     All the optimisations that GHC 0.29 used to do are back in, with 
+     the exception of specialisation.  It ought to be the case that
+     GHC 2.02 outperforms GHC 0.29, because it has a much better
+     handle on cross-module inlining, but there's a good chance that
+     there are performance "holes" lurking.  We have yet to make
+     a systematic comparison.  (Please send us programs where 2.02
+     does noticeably worse than 0.29.)
 
   * It is more expensive than it should be.
 
   * It is more expensive than it should be.
-    GHC 2.02 has received even less attention to its own performance.
-    At present it eats more space and time than GHC 0.29, especially
-    for very small programs.  We'll work on this.
+     GHC 2.02 has received even less attention to its own performance.
+     At present it eats more space and time than GHC 0.29, especially
+     for very small programs.  We're working on this.
 
   * A couple of Haskell 1.4 features are incompletely supported,
     notably polymorphic strictness annotations, and Unicode.
 
   * A couple of Haskell 1.4 features are incompletely supported,
     notably polymorphic strictness annotations, and Unicode.
@@ -54,10 +54,11 @@ include:
     it expands into tons of "ccall" boilerplate that marshalls
     your arguments to and from C.
 
     it expands into tons of "ccall" boilerplate that marshalls
     your arguments to and from C.
 
-  * GHC 2.02 is available for Windows NT.  From now on, Windows NT
-    will be a fully supported platform for GHC.
+  * GHC 2.02 is available for Win32 platforms.  From now on, Win32
+    (Windows NT and Windows 95) will be a fully supported platform
+    for GHC.
 
 
-  * GHC 2.02 supports full cross moudule inlining.  Unlike 0.29 and
+  * GHC 2.02 supports full cross module inlining.  Unlike 0.29 and
     its predecessors, inlining can happen even if the inlined body
     mentions a function or type that is not itself exported.  This is
     one place Haskell 1.4's new module system really pays off.
     its predecessors, inlining can happen even if the inlined body
     mentions a function or type that is not itself exported.  This is
     one place Haskell 1.4's new module system really pays off.
@@ -80,15 +81,15 @@ To run this release, you need a machine with 16+MB memory (more if
 building from sources), GNU C (`gcc'), and `perl'.  We have seen GHC
 2.01 work on these platforms: alpha-dec-osf2, hppa1.1-hp-hpux9,
 sparc-sun-{sunos4,solaris2}, mips-sgi-irix5, and
 building from sources), GNU C (`gcc'), and `perl'.  We have seen GHC
 2.01 work on these platforms: alpha-dec-osf2, hppa1.1-hp-hpux9,
 sparc-sun-{sunos4,solaris2}, mips-sgi-irix5, and
-i386-unknown-{linux,solaris2,freebsd}.  Similar platforms should work
-with minimal hacking effort.  The installer's guide give a full
-what-ports-work report.
+i386-unknown-{linux,solaris2,freebsd,cygwin32}.  Similar platforms
+should work with minimal hacking effort.  The installer's guide give a
+complete run-down of what-ports-work.
 
 Binaries are distributed in `bundles', e.g. a "profiling bundle" or a
 "concurrency bundle" for your platform.  Just grab the ones you need.
 
 
 Binaries are distributed in `bundles', e.g. a "profiling bundle" or a
 "concurrency bundle" for your platform.  Just grab the ones you need.
 
-Once you have the distribution, please follow the pointers in
-ghc/README to find all of the documentation about this release.  NB:
+Once you have the distribution, please follow the pointers in the
+README file to find all of the documentation about this release.  NB:
 preserve modification times when un-tarring the files (no `m' option
 for tar, please)!
 
 preserve modification times when un-tarring the files (no `m' option
 for tar, please)!
 
@@ -125,6 +126,9 @@ computing/programming/languages/haskell/glasgow.
 These are the available files (.gz files are gzipped) -- some are `on
 demand', ask if you don't see them:
 
 These are the available files (.gz files are gzipped) -- some are `on
 demand', ask if you don't see them:
 
+README.html             A WWW `front-end' to the contents of the glasgow
+                       directory.
+
 ghc-2.02-src.tar.gz    The source distribution; about 3MB.
 
 ghc-2.02.ANNOUNCE      This file.
 ghc-2.02-src.tar.gz    The source distribution; about 3MB.
 
 ghc-2.02.ANNOUNCE      This file.
@@ -176,3 +180,4 @@ ghc-2.02-hi-files-<blah>.tar.gz Sometimes it's more convenient to
                        use a different set of interface files than
                        the ones in *-src.tar.gz.  (The installation
                        guide will advise you of this.)
                        use a different set of interface files than
                        the ones in *-src.tar.gz.  (The installation
                        guide will advise you of this.)
+
diff --git a/distrib/INSTALL b/distrib/INSTALL
new file mode 100644 (file)
index 0000000..53b9449
--- /dev/null
@@ -0,0 +1,72 @@
+This is the INSTALL instructions for a binary bundle of the
+Glorious Glasgow Haskell Compilation System. For more details
+on what on earth this package is up to, please consult the README
+and ANNOUNCE.
+
+To start using the bundle, you can either:
+
+* use it in-place, i.e., don't go ahead with a
+  full install, but just set it up to use the unpacked
+  distribution from where it was unpacked.
+
+* get it over with, and do the full install (details of how are ahead).
+
+NOTE Win32 users: see comment below before continuing.
+
+To set the ball rolling, run the configure script (as usual, run
+the script with --help to see what options it supports).
+
+This will figure out what platform you're running on, and a couple of other
+interesting pieces of trivia, which it will then fill in the Makefile.in
+template to give you a real Makefile.
+
+Have a look at the Makefile to see if you agree with the information
+therein. If you want to use the bundle in-place, now run `make in-place'.
+If you're installing, `make install' (`make show-install-setup' prints
+the details of where the different pieces of the bundle are heading when
+-- possibly helpful).
+
+For more information, please consult the installation guide in
+{html,dvi,info}/ghc-2.02/installing{.dvi,.info,_toc.html}.
+
+Bug reports/suggestions for improvement to the installation procedure/setup
+(as well as other GHC related troubles you're experiencing, of course),
+gratefully received at glasgow-haskell-bugs@dcs.gla.ac.uk
+
+Enjoy.
+
+
+-------Win32 users only----------------------------------------
+NOTE to Win32 users: to enjoy any sort of happiness with the GHC
+tools, you will have to install the cygwin32 toolchain, which dresses
+up the Win32 environment into something more UNIX-like (which
+this initial port of ghc relies on being the case). The cygwin32 tools
+are available from
+
+    ftp://ftp.cygnus.com/pub/gnu-win32/gnu-win32-b17.1/   
+       (Cygnus Solutions; Mt. View, CA.)
+    ftp://sunsite.doc.ic.ac.uk/pub/gnu/cygnus/gnu-win32/
+        (Sunsite Northern Europe; Imperial College, London)
+    ftp://ftp.crl.go.jp/pub/GNU/cygnus/gnu-win32/
+       (CRL, Ministry of Posts and Telecom., Japan)
+
+GHC was built with beta17 - you *might* get away with beta16 if you've already got it
+installed...not tested this though.
+
+The GHC tools are also quite picky about Perl, the commonly-used
+Hip/ActiveWare Win32 port of perl5 just ain't Cool Enough (main reason: 
+GHC scripts assume they are talking to an underlying UNIX command
+shell). A port of perl5.003 done on top of cygwin32-b17 is just
+the ticket though, it is available from 
+
+   http://www.edv.agrar.tu-muenchen.de/~syring/gnu-win32/
+
+this port is not complete - but the binaries available from there
+are sufficiently wonderful.
+
+Install both cygwin32&perl5 before continuing.
+
+Future releases of GHC for Win32 may very well avoid relying on
+cygwin32 to operate, for various reasons..
+
+-------Win32 users only----------------------------------------
index 404f4d1..c741518 100644 (file)
@@ -1,12 +1,15 @@
+#
+# @configure_input@
+#
 # Instructions for configuring an fptools package.
 #
 # There are two ways you can get started with an fptools package, either
 # by using the unpacked distribution tree in-situ or by installing the
 # package.
 #
 # Instructions for configuring an fptools package.
 #
 # There are two ways you can get started with an fptools package, either
 # by using the unpacked distribution tree in-situ or by installing the
 # package.
 #
-# Using the package directly is easy, just do `make config', i.e.,
-# the distribution will *not* work out-of-the-box, you'll have to do
-# this first.
+# Using the package directly is easy, just do `make config'. (The
+# distribution will *not* work straight out of the box, you'll have to do
+# this first)
 #
 # To install the package, you'll have to set one or more of the
 # following variables:
 #
 # To install the package, you'll have to set one or more of the
 # following variables:
@@ -18,7 +21,7 @@
 #     where you want the library archives to go.
 #     Note, if you specify /usr/foo/lib for libdir,
 #     the library files for your fptools package will be
 #     where you want the library archives to go.
 #     Note, if you specify /usr/foo/lib for libdir,
 #     the library files for your fptools package will be
-#     installed in  /usr/foo/lib/<package>-<version>, i.e.,
+#     installed in  /usr/foo/lib/<package>-<version>, e.g.,
 #     /usr/foo/lib/ghc-2.02. If you don't want the package/version
 #     directory appended, you'll have to modify $(real_libdir)
 #     below.
 #     /usr/foo/lib/ghc-2.02. If you don't want the package/version
 #     directory appended, you'll have to modify $(real_libdir)
 #     below.
 #     path to where the platform-independent files will go.
 #     As for libdir, the effective path for the platform-indep
 #     stuff is $(datadir)/<package>-<version>. If you want
 #     path to where the platform-independent files will go.
 #     As for libdir, the effective path for the platform-indep
 #     stuff is $(datadir)/<package>-<version>. If you want
-#     complete control, see $(real_libdir)
+#     complete control, see $(real_datadir)
 #
 #  * platform 
 #
 #  * platform 
-#     the platform you're installing for. The configure
-#     makes an educated guess what it, so you will only
-#     have to set this if it clashes with your reality.
+#     the platform you're installing for. The configure script
+#     makes an educated guess, so you'll only have to set this
+#     if it clashes with your reality, I guess.
 #
 #
-#  * infodir
-#     where to install the Emacs info files
 #  * htmldir
 #     where to install the documentation HTML files.
 #  * dvidir
 #     where to install the DVI files.
 #  * htmldir
 #     where to install the documentation HTML files.
 #  * dvidir
 #     where to install the DVI files.
+#  * infodir
+#     where to install the Emacs info files
 #
 #
-# Installing the documentation is not via the `install' rule, but
-# via the rules: `install-docs', `install-html', `install-dvi'
-# and `install-info'.
+# Installing the documentation is not done as part of the `install' rule, but
+# via `install-docs' (or if you want to be selective: `install-html', `install-dvi'
+# and `install-info').
 #
 # For more complete instructions, consult the INSTALL file
 # that came with the bundle, and/or consult the installation
 # documentation in one of the document directories.
 #
 #
 # For more complete instructions, consult the INSTALL file
 # that came with the bundle, and/or consult the installation
 # documentation in one of the document directories.
 #
-bindir    = @bindir@
-libdir    = @libdir@
-datadir   = @datadir@
-platform  = @platform@
+# Please report any bugs, problems etc. with installing and using this bundle
+# Makefile setup to glasgow-haskell-bugs@dcs.gla.ac.uk
+# 
+
+# Where the different pieces of the bundle should go:
+bindir      = @bindir@
+libdir      = @libdir@
+datadir     = @datadir@
+
+platform    = @TargetPlatform@
+prefix      = @prefix@
+exec_prefix = @exec_prefix@
 
 
-infodir   = @infodir@
-htmldir   = @htmldir@
-dvidir    = @dvidir@
+# default
+infodir   = $(datadir)
+htmldir   = $(datadir)
+dvidir    = $(datadir)
 
 #
 # Putting the package stuff in package-specific
 # directories:
 #
 
 #
 # Putting the package stuff in package-specific
 # directories:
 #
-real_libdir  = $(libdir)/$(package)-$(version)
-real_datadir = $(datadir)/$(package)-$(version)
+real_libdir      = $(libdir)/$(package)-$(version)
+real_datadir     = $(datadir)/$(package)-$(version)
+
+package     = ghc
+version     = 2.02
+PERL        = @PerlCmd@
+RM          = rm -f
+MV          = mv
+LN_S        = @LN_S@
+CHMOD       = chmod
+INSTALL            = @INSTALL@
+# sigh
+INSTALL_DIR  = ./mkdirhier
 
 
+#
+# Set of package scripts for which you'd like a name-<version> symlink
+# to be created, i.e., create a symlink, ghc-2.02, pointing to ghc to
+# avoid version vertigo.
+#
+VERSION_SYMLINKS_FOR=ghc
+
+#
+# List of files in bin directory that need to have
+# local setup/install information prepended.
+#
+PACKAGE_SCRIPTS=ghc stat2resid hstags mkdependHS
+
+# Binaries to install
+PACKAGE_BINS=$(PACKAGE_SCRIPTS) hp2ps
+
+#----------end of user-serviceable parts------------
+#
+#
+# How to install the different pieces
+# 
+INSTALL_BIN  = $(INSTALL) $(INSTALL_BIN_OPTS)
+INSTALL_LIB  = $(INSTALL) $(INSTALL_LIB_OPTS)
+INSTALL_DATA = $(INSTALL) $(INSTALL_DATA_OPTS)
+
+# What's common to all installs
+INSTALL_OPTS= $(EXTRA_INSTALL_OPTS)
+
+BIN_PERMS = 755
+LIB_PERMS = 644
+
+INSTALL_BIN_OPTS  = -m $(BIN_PERMS) $(INSTALL_OPTS) $(EXTRA_INSTALL_BIN_OPTS)
+INSTALL_LIB_OPTS  = -m $(LIB_PERMS) $(INSTALL_OPTS) $(EXTRA_INSTALL_LIB_OPTS)
+INSTALL_DATA_OPTS = -m $(LIB_PERMS) $(INSTALL_OPTS) $(EXTRA_INSTALL_DATA_OPTS)
+
+.PHONY: in-place config-pkgs mk-version-symlinks install-dirs install
+
+config-pkgs ::
+       @echo "Configuring $(package), version $(version), on $(platform) ..."
+       $(RM) bin/$(platform)/$(package)-$(version)/$(package)-$(version)
+       @for i in $(PACKAGE_SCRIPTS); do \
+          echo "Creating a configured version of $$i .."; \
+          $(RM) bin/$(platform)/$(package)-$(version)/$$i.bak; \
+          test -f bin/$(platform)/$(package)-$(version)/$$i && $(MV) bin/$(platform)/$(package)-$(version)/$$i bin/$(platform)/$(package)-$(version)/$$i.bak; \
+          echo "eval 'exec $(PERL) -S $$$""0 $$""{1+\"$$$""@\"}'"         > bin/$(platform)/$(package)-$(version)/$$i; \
+          echo "      if $$""running_under_some_shell;"                  >> bin/$(platform)/$(package)-$(version)/$$i; \
+          echo $$"bindir='$(bindir)';"                                   >> bin/$(platform)/$(package)-$(version)/$$i; \
+          echo $$"libdir='$(real_libdir)';"                              >> bin/$(platform)/$(package)-$(version)/$$i; \
+          echo $$"datadir='$(real_datadir)';"                            >> bin/$(platform)/$(package)-$(version)/$$i; \
+          cat bin/$(platform)/$(package)-$(version)/$(package).prl       >> bin/$(platform)/$(package)-$(version)/$$i; \
+          $(CHMOD) $(BIN_PERMS) bin/$(platform)/$(package)-$(version)/$$i; \
+          echo "Done."; \
+       done
 
 
+#
+# The vaguely funky eval 'exec ...' echo line above *might* be
+# a tad too much for some `make's - here's what it should return
+# if all is well:
+#
+#   eval 'exec /installed/path/for/perl -S $0 ${1+"$@"}'
+#         if $running_under_some_shell;
+#
 
 
+mk-version-symlinks ::
+       @for i in $(VERSION_SYMLINKS_FOR) ""; do \
+         if [ "x$$i" != "x" ]; then \
+            echo "Symlinking $$i to $$i-$(version)"; \
+            (cd bin/$(platform)/$(package)-$(version); $(RM) $$i-$(version); $(LN_S) $$i $$i-$(version) ); \
+         fi;\
+       done
 
 
-package   = ghc
-version   = 2.02
-PERL      = @PerlCmd@
+in-place ::
+       $(MAKE) $(MFLAGS) config-pkgs bindir=`pwd`/bin/$(platform)/$(package)-$(version) libdir=`pwd`/lib/$(platform) datadir=`pwd`/share/$(package)-$(version)
+       $(MAKE) $(MFLAGS) mk-version-symlinks
+       @echo "Finished configuring..to use, add `pwd`/bin/$(platform)/$(package)-$(version) to your PATH."
 
 
-.PHONY: config install install-dirs
+install-dirs ::
+       $(INSTALL_DIR) $(bindir)
+       (cd lib/$(platform)/$(package)-$(version); find . -type d -exec sh -c '$(INSTALL_DIR) $0 $(real_libdir)/$0' {} \; )
+       (cd share/$(package)-$(version); find . -type d -exec sh -c '$(INSTALL_DIR) $0 $(real_datadir)/$0' {} \; )
 
 
-config:
-       @echo Configuring $(package), version $(version), on $(platform)
-       @RM `pwd`/bin/$(platform)/$(package)-$(version)/$(package)-$(version)
-       @RM `pwd`/bin/$(platform)/$(package)-$(version)/$(package)
-       @echo $(PerlCmd)                  > `pwd`/bin/$(platform)/$(package)
-       @echo "$""bindir='"`pwd`"/bin/$(platform)/$(package)-$(version)';"    >> `pwd`/bin/$(platform)/$(package)-$(version)/$(package)
-       @echo "$""libdir='"`pwd`"/lib/$(platform)/$(package)-$(version)';"    >> `pwd`/bin/$(platform)/$(package)-$(version)/$(package)
-       @echo "$""datadir='"`pwd`"/share/$(platform)/$(package)-$(version)';" >> `pwd`/bin/$(platform)/$(package)-$(version)/$(package)
-       @cat `pwd`/bin/$(platform)/$(package)-$(version)/$(package).prl';"    >> `pwd`/bin/$(platform)/$(package)-$(version)/$(package)
-       @(cd `pwd`/bin/$(platform)/$(package)-$(version); $(LN_S) $(package) $(package)-$(version) )
-       @echo Finished..to use, add `pwd`/bin/$(platform)/$(package)-$(version) to your PATH.
+install :: config-pkgs mk-version-symlinks install-dirs install-bin install-libs install-data
 
 
-libdirs  = . imports include
-datadirs = . include
+.PHONY: install-bin install-libs install-datas
 
 
-install-dirs:
-       $(MKDIRHIER) $(bindir) 
-       @for i in $(libdirs) ; do \
-         echo (MKDIRHIER) $(real_libdir)/$$i; \
-         (MKDIRHIER) $(real_libdir)/$$i; \
-       done;
-       @for i in $(datadirs) ; do \
-         echo (MKDIRHIER) $(real_datadir)/$$i; \
-         (MKDIRHIER) $(real_datadir)/$$i; \
+install-bin:
+       for i in $(PACKAGE_BINS); do \
+          $(INSTALL_BIN) bin/$(platform)/$(package)-$(version)/$$i $(bindir); \
        done;
        done;
+       for in in $(VERSION_SYMLINKS_FOR) ""; do \
+          if [ "x$$i" != "x"]; then \
+               $(INSTALL_BIN) bin/$(platform)/$(package)-$(version)/$$i $(bindir); \
+          fi; \
+       done
 
 
-install : install-dirs
 
 
-install :
-       $(INSTALL_PROGRAM) `pwd`/bin/$(platform)/$(package)-$(version)/* $(bindir)
-       @for i in $(libdirs); do \
-          echo $(INSTALL) `pwd`/lib/$(platform)/$(package)-$(version)/$$i/* $(real_libdir)/$$i; \
-          $(INSTALL) `pwd`/lib/$(platform)/$(package)-$(version)/$$i/* $(real_libdir)/$$i; \
-       done; 
-       @for i in $(datadirs); do \
-          echo $(INSTALL) `pwd`/share/$(package)-$(version)/$$i/* $(real_datadir)/$$i; \
-          $(INSTALL) `pwd`/share/$(package)-$(version)/$$i/* $(real_datadir)/$$i; \
-       done; 
+install-libs:
+       (cd lib/$(platform)/$(package)-$(version); find . -type f -exec sh -c '$(INSTALL_LIB) $0 $(real_libdir)/$0' {} \; )
 
 
-install-docs : install-info install-html install-dvi
+install-datas:
+       (cd share/$(package)-$(version); find . -type f -exec sh -c '$(INSTALL_DATA) $0 $(real_datadir)/$0' {} \; )
 
 
-install-dirs-html:
-       $(MKDIRHIER) $(htmldir) 
+show-install-setup:
+       @echo "Install setup..."
+       @echo "bindir  = $(bindir)"
+       @echo "libdir  = $(libdir) (real_libdir  = $(real_libdir))"
+       @echo "datadir = $(datadir) (real_datadir = $(real_datadir))"
 
 
-install-dirs-info:
-       $(MKDIRHIER) $(infodir) 
+#
+# Documentation targets, install-docs for the whole lot, or
+# install-{dvi,html,info}
+#
 
 
-install-dirs-dvi:
-       $(MKDIRHIER) $(dvidir) 
+.PHONY: show-install-setup install-docs install-html install-info install-dirs-dvi install-dirs-html install-dirs-info
 
 
-install-docs : install-html install-info install-dvi 
+install-docs : install-html install-dvi install-info
 
 install-dvi: install-dirs-dvi
 
 install-dvi: install-dirs-dvi
-       $(INSTALL) `pwd`/dvi/$(package)-$(version)/* $(dvidir)
+       $(INSTALL_DATA) dvi/$(package)-$(version)/* $(dvidir)
 
 install-info: install-dirs-info
 
 install-info: install-dirs-info
-       $(INSTALL) `pwd`/info/$(package)-$(version)/* $(infodir)
+       $(INSTALL_DATA) info/$(package)-$(version)/* $(infodir)
 
 install-html: install-dirs-html
 
 install-html: install-dirs-html
-       $(INSTALL) `pwd`/html/$(package)-$(version)/* $(htmldir)
+       $(INSTALL_DATA) html/$(package)-$(version)/* $(htmldir)
+
+install-dirs-html:
+       $(INSTALL_DIR) $(htmldir) 
+
+install-dirs-info:
+       $(INSTALL_DIR) $(infodir) 
+
+install-dirs-dvi:
+       $(INSTALL_DIR) $(dvidir) 
 
 
diff --git a/distrib/PATCHLEVEL b/distrib/PATCHLEVEL
new file mode 100644 (file)
index 0000000..3d0c392
--- /dev/null
@@ -0,0 +1 @@
+The Glamorous Glasgow Haskell Compiler, version 2.02, patchlevel 0
index f509e56..83f3a8e 100644 (file)
@@ -1,21 +1,8 @@
-This is the root directory for functional-programming tools
-distributed by the Computing Science Department at Glasgow University.
-Simon Peyton Jones <simonpj@dcs.gla.ac.uk> is the ringleader of this
-effort.  The tools are:
+This is the README for a binary distribution of the
+functional-programming tools, distributed by the Computing Science
+Department at Glasgow University. Simon Peyton Jones
+<simonpj@dcs.gla.ac.uk> is the ringleader of this effort. 
 
 
-    ghc                the Glasgow Haskell compilation system
-    hslibs     collection of Haskell libraries
-    haggis     the Haggis GUI toolkit
-    happy      the Happy Haskell parser generator
-    nofib      the NoFib Haskell benchmarking suite
-    literate   the Glasgow "literate programming" system
-    mkworld    configuration system (derived from X11 imake)
-    glafp-utils shared utility programs
+For more information on what this bundle contains, please
+consult the ANNOUNCE and INSTALL file.
 
 
-The "literate" stuff is usually distributed *with* other systems, but
-not necessarily.  Components which are always part of a distribution
-(never stand-alone) are "glafp-utils" and "mkworld" (a configuration
-system).
-
-There is usually an ANNOUNCE* file with any distribution.  Please
-consult that, or the <piece>/README file, to find out how to proceed.
index 88579d2..fa7e5ef 100644 (file)
@@ -4,6 +4,7 @@ dnl
 #!/bin/sh
 #
 
 #!/bin/sh
 #
 
+# Is it there?
 AC_INIT(Makefile.in)
 
 #
 AC_INIT(Makefile.in)
 
 #
@@ -20,7 +21,7 @@ TargetPlatform=`/bin/sh $srcdir/config.sub $target` || exit 1
 # Suitable names to slam in *_CPP are in platform.h.in.
 # We also record the architecture, vendor, and operating system (OS)
 # separately.
 # Suitable names to slam in *_CPP are in platform.h.in.
 # We also record the architecture, vendor, and operating system (OS)
 # separately.
-case $HostPlatform in
+case $TargetPlatform in
 alpha-dec-osf[[1234]]*)
        TargetPlatform=alpha-dec-osf1;;
 hppa1.1-hp-hpux*)
 alpha-dec-osf[[1234]]*)
        TargetPlatform=alpha-dec-osf1;;
 hppa1.1-hp-hpux*)
@@ -42,9 +43,9 @@ m68k-next-nextstep2)
 m68k-next-nextstep3)
        TargetPlatform=m68k-next-nextstep3;;
 i[[3456]]86-next-nextstep3)
 m68k-next-nextstep3)
        TargetPlatform=m68k-next-nextstep3;;
 i[[3456]]86-next-nextstep3)
-       TargetPlatform=i386-next-nextstep3
+       TargetPlatform=i386-next-nextstep3;;
 m68k-sun-sunos4*)
 m68k-sun-sunos4*)
-       TargetPlatform=m68k-sun-sunos4 #hack
+       TargetPlatform=m68k-sun-sunos4;;
 mips-dec-ultrix*)
         TargetPlaformP=mips-dec-ultrix;;
 mips-sgi-irix*)
 mips-dec-ultrix*)
         TargetPlaformP=mips-dec-ultrix;;
 mips-sgi-irix*)
@@ -60,41 +61,16 @@ sparc-sun-solaris2*)
         exit 1
         ;;
 esac
         exit 1
         ;;
 esac
-echo "Which we'll canonicalise into: $TargetPlatform"
+echo "Which we'll further canonicalise into: $TargetPlatform"
 
 
-platform=$TargetPlatform
-AC_SUBST(platform)
+AC_SUBST(TargetPlatform)
 
 AC_CHECK_PROG(PerlCmd,perl,$ac_dir/$ac_word)
 if test -z "$PerlCmd"; then
     echo "You must install perl before you can continue"
     echo "Perhaps it is already installed, but not in your PATH?"
 
 AC_CHECK_PROG(PerlCmd,perl,$ac_dir/$ac_word)
 if test -z "$PerlCmd"; then
     echo "You must install perl before you can continue"
     echo "Perhaps it is already installed, but not in your PATH?"
-    exit 1
-else
-    $PerlCmd -v >conftest.out 2>&1
-    if egrep "version 4" conftest.out >/dev/null 2>&1; then
-        if egrep "Patch level: 35" conftest.out >/dev/null 2>&1; then
-            echo "
-************************************************************************
-Uh-oh...looks like you have Perl 4.035.
-
-Perl version 4.035 has a bug to do with recursion that will bite if
-you run the lit2texi script, when making Info files from
-literate files of various sorts.  Either use the current version
-(4.036), an older version (e.g., perl 4.019) or apply the patch in
-glafp-utils/perl-4.035-fixes to your 4.035 perl.
-************************************************************************
-"
-        fi
-    else
-       if egrep "version 5" conftest.out >/dev/null 2>&1; then
-           :
-       else
-           echo "I'm not sure if your version of perl will work,"
-           echo "but it's worth a shot, eh?"
-       fi
-    fi
-    rm -fr conftest*
+    echo ""
+    echo "Continuing, assuming perl will be available as: perl"
 fi
 #
 dnl ** does #!.../perl work? (sometimes it's too long...)
 fi
 #
 dnl ** does #!.../perl work? (sometimes it's too long...)
@@ -120,12 +96,13 @@ else
     echo "I think your perl library is misinstalled."
     echo "The following script did not work:"
     echo '      do "getopts.pl" || exit(1); exit(0);'
     echo "I think your perl library is misinstalled."
     echo "The following script did not work:"
     echo '      do "getopts.pl" || exit(1); exit(0);'
-    exit 1
+    echo "But, nevermind, let us continue.."
 fi
 
 dnl ** figure out how to do a BSD-ish install
 #
 AC_PROG_INSTALL
 fi
 
 dnl ** figure out how to do a BSD-ish install
 #
 AC_PROG_INSTALL
+AC_PROG_LN_S()
 #
 
 
 #