From d5c8ed9758e4bb20406b9b9b2cc0533b38340a6e Mon Sep 17 00:00:00 2001 From: simonpj Date: Wed, 19 Mar 1997 20:45:02 +0000 Subject: [PATCH] [project @ 1997-03-19 20:44:50 by simonpj] Still moving towards 2.02 --- docs/installing.lit | 7 +++--- ghc/Makefile | 44 +---------------------------------- ghc/compiler/Makefile | 3 ++- ghc/compiler/nativeGen/MachMisc.lhs | 21 +++++++++++++---- ghc/includes/stgdefs.h | 7 ++++-- ghc/runtime/gmp/Makefile | 3 +-- ghc/utils/stat2resid/Makefile | 4 ++-- mk/target.mk | 32 +++++++++++++++++++++---- 8 files changed, 60 insertions(+), 61 deletions(-) diff --git a/docs/installing.lit b/docs/installing.lit index d2d9bb3..fc1afe4 100644 --- a/docs/installing.lit +++ b/docs/installing.lit @@ -584,9 +584,10 @@ tell you if you are missing something. for doing shell-scripty tasks that involve lots of text processing. It is pretty easy to install. -(Perl~5 is the current version; GHC might be Perl~4 friendly, we've -run into some trouble with our scripts on \tr{alpha-dec-osf\{1,2\}} -using Perl~4 (patchlevel 36)) +Perl~5 is the current version; GHC should be Perl~4 friendly though. +For Win32 platforms, Perl~5 is recommended, we even strongly suggest +you pick up our quick-and-dirty port of Perl~5, as the common +Hip/ActiveWare port of Perl is not Cool Enough for our purposes. Perl should be put somewhere so that it can be invoked by the \tr{#!} script-invoking mechanism. (I believe \tr{/usr/bin/perl} is preferred; diff --git a/ghc/Makefile b/ghc/Makefile index 42b121c..422df02 100644 --- a/ghc/Makefile +++ b/ghc/Makefile @@ -1,12 +1,10 @@ #----------------------------------------------------------------------------- -# $Id: Makefile,v 1.4 1997/03/17 20:34:29 simonpj Exp $ +# $Id: Makefile,v 1.5 1997/03/19 20:44:51 simonpj Exp $ # TOP=. include $(TOP)/mk/boilerplate.mk -line = @echo "------------------------------------------------------------------------------" - # # subdir dependencies: # everything needs utils @@ -15,46 +13,6 @@ line = @echo "------------------------------------------------------------------ # RTS and compiler need includes # -boot :: - $(line) - @echo "Booting Utils" - $(line) - @$(MAKE) -C utils boot depend - - $(line) - @echo "Booting Driver" - $(line) - @$(MAKE) -C driver boot depend - - $(line) - @echo "Booting Includes" - $(line) - @$(MAKE) -C includes boot depend - - $(line) - @echo "Booting Runtime System" - $(line) - @$(MAKE) -C runtime boot depend - - $(line) - @echo "Booting Docs" - $(line) - @$(MAKE) -C docs boot - - $(line) - @echo "Booting Compiler" - $(line) - @$(MAKE) -C compiler boot - - $(line) - @echo "Booting Prelude libraries" - $(line) - @$(MAKE) -C lib boot - - -# "CONTRIB" is also a SUBDIR, but there is nothing to build there. -# -# leave out docs for the moment -- SOF # # Order is important! driver/ has to come before includes/ which # again has to come before the rest. diff --git a/ghc/compiler/Makefile b/ghc/compiler/Makefile index c49c48d..af8efc0 100644 --- a/ghc/compiler/Makefile +++ b/ghc/compiler/Makefile @@ -1,5 +1,5 @@ # ----------------------------------------------------------------------------- -# $Id: Makefile,v 1.10 1997/03/19 05:31:31 sof Exp $ +# $Id: Makefile,v 1.11 1997/03/19 20:44:52 simonpj Exp $ TOP = .. include $(TOP)/mk/boilerplate.mk @@ -136,6 +136,7 @@ hsSyn/HsSyn_HC_OPTS = -fno-omit-reexported-instances main/Main_HC_OPTS = -fvia-C main/CmdLineOpts_HC_OPTS = -fvia-C nativeGen/PprMach_HC_OPTS = -K2m +nativeGen/MachMisc_HC_OPTS = -K2m -fvia-C parser/UgenAll_HC_OPTS = -fvia-C '-\#include"hspincl.h"' parser/UgenUtil_HC_OPTS = -fvia-C '-\#include"hspincl.h"' parser/U_constr_HC_OPTS = -fvia-C '-\#include"hspincl.h"' diff --git a/ghc/compiler/nativeGen/MachMisc.lhs b/ghc/compiler/nativeGen/MachMisc.lhs index 055f9eb..dd60a15 100644 --- a/ghc/compiler/nativeGen/MachMisc.lhs +++ b/ghc/compiler/nativeGen/MachMisc.lhs @@ -93,20 +93,33 @@ fmtAsmLbl s --------------------------- cvtLitLit :: String -> String --- ToDo: some kind of *careful* attention needed... - +-- +-- Rather than relying on guessing, use FILE_SIZE to compute the +-- _iob offsets. +-- cvtLitLit "stdin" = IF_ARCH_alpha("_iob+0" {-probably OK...-} ,IF_ARCH_i386("_IO_stdin_" ,IF_ARCH_sparc("__iob+0x0"{-probably OK...-} ,))) + +cvtLitLit "stdout" = IF_ARCH_alpha("_iob+"++show (``FILE_SIZE''::Int) + ,IF_ARCH_i386("_IO_stdout_" + ,IF_ARCH_sparc("__iob+"++show (``FILE_SIZE''::Int) + ,))) +cvtLitLit "stderr" = IF_ARCH_alpha("_iob+"++show (2*(``FILE_SIZE''::Int)) + ,IF_ARCH_i386("_IO_stderr_" + ,IF_ARCH_sparc("__iob+"++show (2*(``FILE_SIZE''::Int)) + ,))) +{- cvtLitLit "stdout" = IF_ARCH_alpha("_iob+56"{-dodgy *at best*...-} ,IF_ARCH_i386("_IO_stdout_" - ,IF_ARCH_sparc("__iob+0x14"{-dodgy *at best*...-} + ,IF_ARCH_sparc("__iob+0x10"{-dodgy *at best*...-} ,))) cvtLitLit "stderr" = IF_ARCH_alpha("_iob+112"{-dodgy *at best*...-} ,IF_ARCH_i386("_IO_stderr_" - ,IF_ARCH_sparc("__iob+0x28"{-dodgy *at best*...-} + ,IF_ARCH_sparc("__iob+0x20"{-dodgy *at best*...-} ,))) +-} cvtLitLit s | isHex s = s | otherwise = error ("Native code generator can't handle ``" ++ s ++ "''") diff --git a/ghc/includes/stgdefs.h b/ghc/includes/stgdefs.h index 6885b9c..613c161 100644 --- a/ghc/includes/stgdefs.h +++ b/ghc/includes/stgdefs.h @@ -247,8 +247,11 @@ char *stgMallocWords PROTO((I_, char *)); #include #endif /* HAVE_SYS_TYPES_H */ -#ifndef FD_SETSIZE -#define FD_SETSIZE 1024 +/* A real hack this */ +#ifndef linux_TARGET_OS +# ifndef FD_SETSIZE +# define FD_SETSIZE 1024 +# endif #endif #endif /* ! STGDEFS_H */ diff --git a/ghc/runtime/gmp/Makefile b/ghc/runtime/gmp/Makefile index 8b4af73..ffdd8e0 100644 --- a/ghc/runtime/gmp/Makefile +++ b/ghc/runtime/gmp/Makefile @@ -1,12 +1,11 @@ #----------------------------------------------------------------------------- -# $Id: Makefile,v 1.3 1997/03/14 05:11:36 sof Exp $ +# $Id: Makefile,v 1.4 1997/03/19 20:44:55 simonpj Exp $ TOP=../.. include $(TOP)/mk/boilerplate.mk # There's only one `way' for gmp, empty WAYS variable right away. WAYS= - GMP_OBJS = $(MPZ_OBJS) $(MPQ_OBJS) $(MPN_OBJS) $(IMPL_OBJS) mp_bases.o IMPL_SRCS = memory.c mp_set_fns.c _mpz_set_str.c _mpz_get_str.c \ diff --git a/ghc/utils/stat2resid/Makefile b/ghc/utils/stat2resid/Makefile index 9c8c4e6..b6108c2 100644 --- a/ghc/utils/stat2resid/Makefile +++ b/ghc/utils/stat2resid/Makefile @@ -1,9 +1,9 @@ #----------------------------------------------------------------------------- -# $Id: Makefile,v 1.3 1997/03/13 09:10:17 sof Exp $ +# $Id: Makefile,v 1.4 1997/03/19 20:44:56 simonpj Exp $ TOP=../.. include $(TOP)/mk/boilerplate.mk - +WAYS= DYN_LOADABLE_BITS = \ parse-gcstats.prl \ process-gcstats.prl diff --git a/mk/target.mk b/mk/target.mk index d1d1129..94555e6 100644 --- a/mk/target.mk +++ b/mk/target.mk @@ -835,10 +835,22 @@ ifeq "$(way)" "" ifneq "$(SUBDIRS)" "" all docs runtests boot TAGS clean veryclean maintainer-clean install info :: - @case '${MFLAGS}' in *[ik]*) set +e;; esac; \ - for i in $(SUBDIRS) ; do \ - $(MAKE) -C $$i $(MFLAGS) $@; \ + @case '${MFLAGS}' in *[ik]*) set +e;; esac; + @echo "------------------------------------------------------------------------" + @echo "===fptools== Recursively making \`$@' in $(SUBDIRS) ..." + @echo "PWD = $(shell pwd)" + @echo "------------------------------------------------------------------------" + @for i in $(SUBDIRS) ; do \ + echo "------------------------------------------------------------------------"; \ + echo "==fptools== $(MAKE) $@;"; \ + echo " in $(shell pwd)/$$i"; \ + echo "------------------------------------------------------------------------"; \ + $(MAKE) --no-print-directory -C $$i $(MFLAGS) $@; \ done + @echo "------------------------------------------------------------------------" + @echo "===fptools== Finished making \`$@' in $(SUBDIRS) ..." + @echo "PWD = $(shell pwd)" + @echo "------------------------------------------------------------------------" dist :: @case '${MFLAGS}' in *[ik]*) set +e;; esac; \ @@ -865,9 +877,21 @@ ifeq "$(way)" "" # boot info TAGS # since these are way-independent all docs runtests TAGS clean veryclean maintainer-clean install :: - for i in $(WAYS) ; do \ + @echo "------------------------------------------------------------------------" + @echo "===fptools== Recursively making \`$@' for ways: $(WAYS) ..." + @echo "PWD = $(shell pwd)" + @echo "------------------------------------------------------------------------" + @for i in $(WAYS) ; do \ + echo "------------------------------------------------------------------------"; \ + echo "==fptools== $(MAKE) way=$$i $@;"; \ + echo "PWD = $(shell pwd)"; \ + echo "------------------------------------------------------------------------"; \ $(MAKE) way=$$i $(MFLAGS) $@ ; \ done + @echo "------------------------------------------------------------------------" + @echo "===fptools== Finished recusrively making \`$@' for ways: $(WAYS) ..." + @echo "PWD = $(shell pwd)" + @echo "------------------------------------------------------------------------" endif endif -- 1.7.10.4