From e3f0d880b7b74ed95059a8cddf3edf3e0d2f83c6 Mon Sep 17 00:00:00 2001
From: simonm <unknown>
Date: Fri, 5 Sep 1997 09:16:36 +0000
Subject: [PATCH] [project @ 1997-09-05 09:16:19 by simonm] don't set $(WAYS)
 in ghc/mk/paths.mk, set it explicitly in the Makefiles where it is required
 (compiler/Makefile, lib/Makefile and runtime/Makefile).

Remove the overriding of $(WAYS) from utils/*/Makefile.

No need to eliminate warnings for overlapped patterns in
Happy-generated parsers any more.

Don't compile OccurAnal with -O if we're using a pre-version-2 GHC,
since it seems there's an optimiser bug.
---
 ghc/compiler/Makefile         | 13 +++++++++----
 ghc/lib/Makefile              |  2 ++
 ghc/mk/paths.mk               |  3 ---
 ghc/runtime/Makefile          |  4 +++-
 ghc/utils/Makefile            |  6 ------
 ghc/utils/hp2ps/Makefile      |  1 -
 ghc/utils/hscpp/Makefile      |  1 -
 ghc/utils/hstags/Makefile     |  3 ---
 ghc/utils/mkdependHS/Makefile |  2 --
 ghc/utils/parallel/Makefile   |  3 ---
 ghc/utils/stat2resid/Makefile |  4 ++--
 ghc/utils/ugen/Makefile       |  3 +--
 ghc/utils/unlit/Makefile      |  1 -
 13 files changed, 17 insertions(+), 29 deletions(-)

diff --git a/ghc/compiler/Makefile b/ghc/compiler/Makefile
index 25460e3114..721f190351 100644
--- a/ghc/compiler/Makefile
+++ b/ghc/compiler/Makefile
@@ -5,7 +5,7 @@ include $(TOP)/mk/boilerplate.mk
 
 #-----------------------------------------------------------------------------
 # Building hsc different ways (default is just `normal' sequential)
-override WAYS=$(GhcCompilerWays)
+WAYS=$(GhcCompilerWays)
 
 #-----------------------------------------------------------------------------
 #		Set SUBDIRS
@@ -187,9 +187,9 @@ rename/ParseIface_HC_OPTS 	+= -Onot -H16m
 rename/ParseType_HC_OPTS 	+= -Onot -H16m
 rename/ParseUnfolding_HC_OPTS 	+= -Onot -H30m
 ifeq "$(Ghc2_0)" "YES"
-rename/ParseIface_HC_OPTS       += -fno-warn-incomplete-patterns -fno-warn-overlapped-patterns
-rename/ParseType_HC_OPTS        += -fno-warn-incomplete-patterns -fno-warn-overlapped-patterns
-rename/ParseUnfolding_HC_OPTS   += -fno-warn-incomplete-patterns -fno-warn-overlapped-patterns
+rename/ParseIface_HC_OPTS       += -fno-warn-incomplete-patterns
+rename/ParseType_HC_OPTS        += -fno-warn-incomplete-patterns
+rename/ParseUnfolding_HC_OPTS   += -fno-warn-incomplete-patterns
 endif
 
 ifeq "$(TARGETPLATFORM)" "hppa1.1-hp-hpux9"
@@ -221,6 +221,11 @@ utils/FastString_HC_OPTS	= -fvia-C -monly-3-regs
 utils/StringBuffer_HC_OPTS	= -fvia-C
 utils/Digraph_HC_OPTS		= -fglasgow-exts -fvia-C
 
+# optimiser misbehaving in 0.29, occurrence analyser fails to terminate when
+# compiling lib/required/Time.lhs
+ifeq "$(Ghc2_0)" "NO"
+simplCore/OccurAnal_HC_OPTS	= -Onot
+endif
 
 # ----------------------------------------------------------------------------
 #		C compilations
diff --git a/ghc/lib/Makefile b/ghc/lib/Makefile
index 0bb3945fed..62e5c3bd36 100644
--- a/ghc/lib/Makefile
+++ b/ghc/lib/Makefile
@@ -10,6 +10,8 @@
 TOP = ..
 include $(TOP)/mk/boilerplate.mk
 
+WAYS=$(GhcLibWays)
+
 ifeq "$(way)" ""
 SUBDIRS = cbits
 ifeq ($(IncludeTestDirsInBuild),YES)
diff --git a/ghc/mk/paths.mk b/ghc/mk/paths.mk
index 0b73d49fa6..3a69dd0d8e 100644
--- a/ghc/mk/paths.mk
+++ b/ghc/mk/paths.mk
@@ -13,9 +13,6 @@ PROJECTPATCHLEVEL=$(GhcProjectPatchLevel)
 #HC			= $(WithGhcHc)
 HaskellCompilerType	= $(WithGhcHcType)
 
-# What ways to build the RTS+libs
-WAYS=$(GhcLibWays)
-
 GCap=-optc-DGCap
 #GC2s=-optc-DGC2s
 #GC1s=-optc-DGC1s
diff --git a/ghc/runtime/Makefile b/ghc/runtime/Makefile
index fe0aa56edd..23e7ac4f70 100644
--- a/ghc/runtime/Makefile
+++ b/ghc/runtime/Makefile
@@ -1,5 +1,5 @@
 #-----------------------------------------------------------------------------
-# $Id: Makefile,v 1.9 1997/08/25 21:32:14 sof Exp $
+# $Id: Makefile,v 1.10 1997/09/05 09:16:28 simonm Exp $
 
 #  This is the Makefile for the runtime-system stuff.
 #  This stuff is written in C (and cannot be written in Haskell).
@@ -29,6 +29,8 @@ TOP=..
 DoingRTS=YES
 include $(TOP)/mk/boilerplate.mk
 
+WAYS=$(GhcLibWays)
+
 #
 # A general rule for the grand mk setup is that in a build tree, only
 # directories that don't have any subdirs containing Makefiles are built
diff --git a/ghc/utils/Makefile b/ghc/utils/Makefile
index edb0ecee8e..5b0748236c 100644
--- a/ghc/utils/Makefile
+++ b/ghc/utils/Makefile
@@ -1,12 +1,6 @@
 TOP=..
 include $(TOP)/mk/boilerplate.mk
 
-#
-# No ways stuff in here (and further below), please
-#
-override WAYS=
-export WAYS=
-
 ifneq "$(BIN_DIST_NAME)" ""
 # We're doing a binary-dist, descend into a subset of the dirs.
 SUBDIRS = hp2ps hscpp hstags mkdependHS stat2resid unlit
diff --git a/ghc/utils/hp2ps/Makefile b/ghc/utils/hp2ps/Makefile
index ce02c5ee4e..521c2a8a4e 100644
--- a/ghc/utils/hp2ps/Makefile
+++ b/ghc/utils/hp2ps/Makefile
@@ -1,6 +1,5 @@
 TOP=../..
 include $(TOP)/mk/boilerplate.mk
-override WAYS=
 
 C_SRCS  = $(wildcard *.c)
 H_SRCS  = $(wildcard *.h)
diff --git a/ghc/utils/hscpp/Makefile b/ghc/utils/hscpp/Makefile
index ba69ac64a0..cfd5082789 100644
--- a/ghc/utils/hscpp/Makefile
+++ b/ghc/utils/hscpp/Makefile
@@ -1,6 +1,5 @@
 TOP=../..
 include $(TOP)/mk/boilerplate.mk
-override WAYS=
 
 SCRIPT_PROG=hscpp
 SCRIPT_OBJS=hscpp.prl
diff --git a/ghc/utils/hstags/Makefile b/ghc/utils/hstags/Makefile
index 56ba3b105d..3653ec3ee8 100644
--- a/ghc/utils/hstags/Makefile
+++ b/ghc/utils/hstags/Makefile
@@ -1,9 +1,6 @@
 TOP=../..
 include $(TOP)/mk/boilerplate.mk
 
-# No ways
-override WAYS=
-
 # Note: might be overridden from cmd-line (see install rule below)
 INSTALLING=0
 
diff --git a/ghc/utils/mkdependHS/Makefile b/ghc/utils/mkdependHS/Makefile
index 83b8de1f0a..126581b3ed 100644
--- a/ghc/utils/mkdependHS/Makefile
+++ b/ghc/utils/mkdependHS/Makefile
@@ -2,8 +2,6 @@ TOP=../..
 include $(TOP)/mk/boilerplate.mk
 INSTALLING=0
 
-override WAYS=
-
 boot :: all
 
 SCRIPT_PROG=mkdependHS
diff --git a/ghc/utils/parallel/Makefile b/ghc/utils/parallel/Makefile
index b2ebf84c45..094c5cbba1 100644
--- a/ghc/utils/parallel/Makefile
+++ b/ghc/utils/parallel/Makefile
@@ -1,9 +1,6 @@
 TOP=../..
 include $(TOP)/mk/boilerplate.mk
 
-# Ways? what ways?
-WAYS=
-
 PERL_PROGS = \
   grs2gr gr2qp qp2ps ghc-fool-sort ghc-unfool-sort gr2pe gr2java \
   qp2ap gr2RTS RTS2gran gran-extr gp-ext-imp tf avg-RTS SPLIT \
diff --git a/ghc/utils/stat2resid/Makefile b/ghc/utils/stat2resid/Makefile
index e8da1026d6..4b3fad14a7 100644
--- a/ghc/utils/stat2resid/Makefile
+++ b/ghc/utils/stat2resid/Makefile
@@ -1,9 +1,9 @@
 #-----------------------------------------------------------------------------
-# $Id: Makefile,v 1.7 1997/09/03 23:29:20 sof Exp $
+# $Id: Makefile,v 1.8 1997/09/05 09:16:34 simonm Exp $
 
 TOP=../..
 include $(TOP)/mk/boilerplate.mk
-override WAYS=
+
 DYN_LOADABLE_BITS = \
 	parse-gcstats.prl \
 	process-gcstats.prl
diff --git a/ghc/utils/ugen/Makefile b/ghc/utils/ugen/Makefile
index f1ed1b1303..fcc834f757 100644
--- a/ghc/utils/ugen/Makefile
+++ b/ghc/utils/ugen/Makefile
@@ -1,9 +1,8 @@
 #-----------------------------------------------------------------------------
-# $Id: Makefile,v 1.5 1997/09/03 23:28:47 sof Exp $
+# $Id: Makefile,v 1.6 1997/09/05 09:16:35 simonm Exp $
 
 TOP=../..
 include $(TOP)/mk/boilerplate.mk
-override WAYS=
 
 YACC_OPTS += -d
 C_SRCS = syntax.tab.c lex.c id.c tree.c yyerror.c gen.c main.c
diff --git a/ghc/utils/unlit/Makefile b/ghc/utils/unlit/Makefile
index a23895cf87..943a23ff97 100644
--- a/ghc/utils/unlit/Makefile
+++ b/ghc/utils/unlit/Makefile
@@ -1,6 +1,5 @@
 TOP=../..
 include $(TOP)/mk/boilerplate.mk
-override WAYS=
 
 C_SRCS=unlit.c
 C_PROG=unlit
-- 
GitLab