Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
GHC
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Requirements
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Locked files
Build
Pipelines
Jobs
Pipeline schedules
Test cases
Artifacts
Deploy
Releases
Package Registry
Model registry
Operate
Terraform modules
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Code review analytics
Issue analytics
Insights
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Terms and privacy
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Gesh
GHC
Commits
06b618af
Commit
06b618af
authored
28 years ago
by
sof
Browse files
Options
Downloads
Patches
Plain Diff
[project @ 1997-03-24 05:01:47 by sof]
2.02 fixes
parent
9259096d
Loading
Loading
No related merge requests found
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
distrib/Makefile-bin.in
+10
-9
10 additions, 9 deletions
distrib/Makefile-bin.in
distrib/RELEASE
+161
-1
161 additions, 1 deletion
distrib/RELEASE
with
171 additions
and
10 deletions
distrib/Makefile-bin.in
+
10
−
9
View file @
06b618af
...
...
@@ -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-data
s
.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 i
n
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..."
...
...
This diff is collapsed.
Click to expand it.
distrib/RELEASE
+
161
−
1
View file @
06b618af
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}
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment