[project @ 1997-03-24 05:01:47 by sof]
authorsof <unknown>
Mon, 24 Mar 1997 05:01:49 +0000 (05:01 +0000)
committersof <unknown>
Mon, 24 Mar 1997 05:01:49 +0000 (05:01 +0000)
2.02 fixes

distrib/Makefile-bin.in
distrib/RELEASE

index c741518..9243850 100644 (file)
@@ -82,6 +82,7 @@ version     = 2.02
 PERL        = @PerlCmd@
 RM          = rm -f
 MV          = mv
+CP          = cp -f
 LN_S        = @LN_S@
 CHMOD       = chmod
 INSTALL            = @INSTALL@
@@ -137,7 +138,7 @@ config-pkgs ::
           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; \
+          cat bin/$(platform)/$(package)-$(version)/$$i.prl              >> bin/$(platform)/$(package)-$(version)/$$i; \
           $(CHMOD) $(BIN_PERMS) bin/$(platform)/$(package)-$(version)/$$i; \
           echo "Done."; \
        done
@@ -166,10 +167,10 @@ in-place ::
 
 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' {} \; )
+       (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' {} \; )
 
-install :: config-pkgs mk-version-symlinks install-dirs install-bin install-libs install-data
+install :: config-pkgs mk-version-symlinks install-dirs install-bin install-libs install-datas
 
 .PHONY: install-bin install-libs install-datas
 
@@ -177,18 +178,18 @@ install-bin:
        for i in $(PACKAGE_BINS); do \
           $(INSTALL_BIN) bin/$(platform)/$(package)-$(version)/$$i $(bindir); \
        done;
-       for in in $(VERSION_SYMLINKS_FOR) ""; do \
-          if [ "x$$i" != "x"]; then \
-               $(INSTALL_BIN) bin/$(platform)/$(package)-$(version)/$$i $(bindir); \
+       for i in $(VERSION_SYMLINKS_FOR) ""; do \
+          if [ "x$$i" != "x" ]; then \
+               ( cd $(bindir); $(LN_S) $$i $$i-$(version) ); \
           fi; \
        done
 
 
 install-libs:
-       (cd lib/$(platform)/$(package)-$(version); find . -type f -exec sh -c '$(INSTALL_LIB) $0 $(real_libdir)/$0' {} \; )
+       (cd lib/$(platform)/$(package)-$(version); find . -type f -exec sh -c '$(CP) $$0 $(real_libdir)/$$0' {} \; )
 
 install-datas:
-       (cd share/$(package)-$(version); find . -type f -exec sh -c '$(INSTALL_DATA) $0 $(real_datadir)/$0' {} \; )
+       (cd share/$(package)-$(version); find . -type f -exec sh -c '$(INSTALL_DATA) $$0 $(real_datadir)/$$0' {} \; )
 
 show-install-setup:
        @echo "Install setup..."
index 4653a81..3977e1f 100644 (file)
@@ -1 +1,161 @@
-ToDo
+This is the pre-mangled text of the 2.02-specific part of the 
+GHC release notes.
+
+======================================================================
+Release~2.02 is the first release of Glasgow Haskell for Haskell~1.4.
+
+The announcement for this release is distributed as \tr{ANNOUNCE-2.02}
+in the top-level directory.  It contains very important caveats about
+2.02, which we do not repeat here!
+
+Information about ``what's ported to which machine'' is in the
+Installation Guide.  Since 2.01, we've added support for Win32
+(Windows NT and Windows 95).
+
+%************************************************************************
+%*                                                                      *
+\subsection[2-02-config]{New configuration things in 2.02}
+%*                                                                      *
+%************************************************************************
+
+%************************************************************************
+%*                                                                      *
+\subsection[2-02-user-visible]{User-visible changes in 2.02, including incompatibilities}
+%*                                                                      *
+%************************************************************************
+
+GHC~2.02 is a compiler for Haskell~1.4 and, as such, introduces a
+bunch of user-visible changes.  The GHC user's guide has a section to
+help you upgrade your programs to Haskell~1.4 from 1.2; all
+user-visible changes are described there (and not repeated here).
+
+%************************************************************************
+%*                                                                      *
+\subsection[2-02-options]{New or changed GHC command-line options}
+%*                                                                      *
+%************************************************************************
+
+\begin{itemize}
+\item GHC now warns of possibly-incomplete patterns in case expressions
+and function bindings.  You can suppress these warnings with @-fno-warn-incomplete-patterns@.
+
+GHC also warns of completely overlapped patterns.  You can't switch this off.
+
+\item GHC can warn of shadowed names, though it does not do so by default.  
+Just occasionally this shows up 
+an otherwise hard-to-find bug.  To warn of shadowed names use @-fwarn-name-shadowing@
+
+\item You can now generate `make' dependencies via the compiler
+driver, use the option @-M@ together with the list source files to compute
+the dependencies for. By default, the dependencies will be appended to
+the file \tr{Makefile} in the current directory.
+
+\item For hackers, the flag @-dshow-rn-trace@ shows what the renamer is up to.
+Sit back and marvel.
+
+\end{itemize}
+
+
+%************************************************************************
+%*                                                                      *
+\subsection[2-02-new-in-compiler]{New in the compiler proper}
+%*                                                                      *
+%************************************************************************
+
+\begin{itemize}
+\item
+Completely new ``make-world'' system, properly documented (at last) in the
+installation guide.  No Jmakefiles; but you *need* Gnu make
+(gmake). The more recent the better (v 3.70+).
+
+\item
+The ``renamer''---the part of the compiler that implements
+the Haskell module system---has been completely rewritten, again.
+
+The format of interface files has changed significantly.  Interface files
+generated by 2.01 will not work with 2.02.
+
+\item
+Even less special pleading for the Prelude than in 2.01.  If you wanted
+to write your own Prelude and drop it in, you would have
+a really good chance now.
+\end{itemize}
+
+
+%************************************************************************
+%*                                                                      *
+\subsection[2-02-new-in-libraries]{In the libraries}
+%*                                                                      *
+%************************************************************************
+
+The libraries have been completely reorganised.  There's a description in
+\sectionref{syslibs}.
+
+
+%************************************************************************
+%*                                                                      *
+\subsection[2-02-new-in-syslibs]{In ``hslibs'' libraries}
+%*                                                                      *
+%************************************************************************
+
+
+%************************************************************************
+%*                                                                      *
+\subsection[2-02-new-in-rts]{In the runtime system}
+%*                                                                      *
+%************************************************************************
+
+\begin{itemize}
+\item @ForeignObjs@ are properly deallocated when execution halts, as well
+as when the garbage collector spots the @ForeignObj@ as being unreferenced.
+This is important if you are using a @ForeignObj@ to refer to
+a @COM@ object or other remote resource. You want that resource to be relased
+when the program terminates.
+
+\item Files handles in the IO prelude are implemented using
+@ForeignObjs@, and closed when the file handle is unreferenced.  This
+means that if you open zillions of files then just letting go of the
+file handle is enough to close it. 
+\end{itemize}
+
+%************************************************************************
+%*                                                                      *
+\subsection[2-02-new-elsewhere]{Other new stuff}
+%*                                                                      *
+%************************************************************************
+
+2.02 is released together with Green Card, a foreign-language
+interface generator for Haskell. More details elsewhere...
+
+
+%************************************************************************
+%*                                                                      *
+\subsection[2-02-troublespots]{Known troublespots}
+%*                                                                      *
+%************************************************************************
+
+The 2.02 compiler has the following known deficiencies:
+
+\begin{description}
+\item[native code generator, x86:]
+
+The native code generator for x86 platforms is by default switched
+off, as the code the compiler produces with it enabled was discovered
+just before releaseing to be wonky. Rather than delay the release
+further, GHC on x86 platforms rely on \tr{GCC} as their
+backend for now. Hopefully fixed soon.
+
+\item[Simplifier looping:]
+
+The simplifier(Glasgow-speak for optimiser) has been observed to get
+into a loop in one or two cases. If you should observe this, please
+report it as a bug - the work around is to turn off optimisation.
+
+\item[Undefined @*_vap_info@ symbols:]
+
+If the linker complains about some undefined @*_vap_info@ symbols when
+linking 2.02 compiled programs (very unlikely) - fix this by compiling
+the module where the references are coming from with
+@-fno-lambda-lifting@.
+
+\end{description}