| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
Detect whether the local 'ld' command supports -x, and only use the
flag if it does.
|
|
|
|
|
| |
Remove "Global option flags for utilities", as these are in config.mk, and
should only be there (secundum SDM).
|
|
|
|
| |
List the values that can go in SGMLDocWays.
|
|
|
|
|
|
| |
Since you can only have one SGML_DOC per directory, may as well only
have one INSTALL_SGML_DOC too. Remove the machinery for handling more
than one.
|
|
|
|
|
| |
When an SGML doc "foo" is built as HTML, touch "foo.html", so that the
build system can tell it has been built.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add rules for building and installing documentation. The story is as
follows:
GhcDocWays is set to a list of ways to build SGML docs (typically in
build.mk; it defaults to empty).
SGML_DOC = foo causes foo to be built for each way.
SGML_INSTALL_DOCS are then installed for each way;
INSTALL_DOCS are just taken as literal filenames.
make install-docs causes documents to be installed.
Also some other clearups:
Use $(if ...) where a comment lamented its non-existence.
Remove a comment about a "weird" use of exit which has vanished.
|
|
|
|
|
| |
Add SGMLDocWays (to say which ways SGML docs should be
built). Defaults to empty (hence no effect).
|
|
|
|
| |
In defn of CPP, include @CPPFLAGS@ on RHS.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Dear Sigbjorn,
next time you turn an
if...endif
into an
if...else..endif
remember to check the sense of the test. Sometimes, it needs to be reversed
(there was in this case a hint in the surrounding code).
Love,
Reuben.
|
|
|
|
|
|
|
|
|
|
|
|
| |
Provide finer-grained control for turning off mk/target.mk's
'all', 'boot' and 'install' rules. i.e., instead of having
the variable NO_ALL_TARGETS control the defnition of rules
for all three, NO_ALL_TARGET, NO_BOOT_TARGET, and NO_INSTALL_TARGET
lets you individually control which ones you don't want.
Sub-projects (GC and HDirect, for example) have the need
to turn off the 'boot' rule, which is what motivated this
change.
|
|
|
|
|
| |
Pass the "-mieee" flag to gcc, so that we get IEEE floating-point.
MERGE TO STABLE
|
|
|
|
|
|
| |
Fix the mangle rule since the definition of GHC_MANGLER changed
MERGE TO STABLE
|
|
|
|
| |
Use $(LD) instead of hard-wired ld.
|
|
|
|
| |
Add LD = ld
|
|
|
|
|
|
|
| |
We need to pass the -w flag to gcc when compilng *_stub.c files
in addition to when compilng *.hc files.
MERGE TO STABLE
|
|
|
|
| |
Well, GHCi doesn't work on the Alpha now, so don't even bother building it. MERGE TO STABLE
|
|
|
|
|
|
|
|
| |
Remove ugly special casing - if you want to turn off the
default rule for GHCI_LIBRARY, set DONT_WANT_STD_GHCI_LIB_RULE
to YES in your Makefile prior to including $(TOP)/mk/target.mk
ghc/lib/std and hslibs/win32 both do this now on mingw32.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
THIS CHANGE AFFECTS ALL OBJECT FILES COMPILED FROM HASKELL.
Please say "make -C ghc/lib/std clean; make -C hslibs clean".
This commit eliminates spurious warning messages when compiling on
the Alpha. There are two kinds of spurious warning messages:
(1) gcc: -noprefix_recognition: linker input file unused since linking not done
This warning is because we pass the flag "-Xlinker -noprefix_recognition"
to gcc. We remove this warning by no longer passing the flag to gcc,
and by removing the reason we were passing the flag in the first place:
__init_* is now renamed to __stginit_*.
(2) .../includes/Regs.h: warning: call-clobbered register used for global
register variable
This warning and all other warnings except (1), we eliminate by
passing the -w flag to gcc.
MERGE TO STABLE BRANCH
|
|
|
|
|
| |
Build system hacks to split HSwin32.o into two parts, so that it
can be loaded into GHCi. Uses the same gruesome hacks as HSstd.o.
|
|
|
|
| |
Clean core, not *core (because of ext-core dirs).
|
|
|
|
| |
document 31-bit core output option settings
|
|
|
|
| |
Commit a new autoheader-generated version of this file.
|
|
|
|
|
| |
Add rules for way "i" for maing libraries, so that a DLL rather than a .a
gets built, and with al rather than ld.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Death to GHC_INCLUDE_DIR (well, almost).
- mk/target.mk: get rid off the abomination of having SRC_CC_OPTS include
GHC_INCLUDE_DIR and GHC_RUNTIME_DIR for all fptools/ projects.
- mk/suffix.mk: %.pp suffix rule no longer hardwires in the use of GHC_INCLUDE_DIR;
just $(CPP_OPTS). ==> If you want GHC_INCLUDE_DIR on the include path, better
add it to SRC_CPP_OPTS (say) at the point where you need it (ghc/compiler/Makefile
and ghc/lib/std/Makefile do this now).
- wipe out the use of -I$(GHC_INCLUDE_DIR) in HC_OPTS in hslibs/; not needed.
- hslibs/mk/boilerplate.mk still define GHC_{IO_}INCLUDE_DIR for the purpose
of using it when compiling .c files. It should be possible to get rid off it
by having CC=$(HC), but I haven't imposed that change (yet).
|
|
|
|
| |
Add -fruntime-types, which the ILX backend needs
|
|
|
|
| |
Remove WAY_i_* settings from user ways section
|
|
|
|
| |
Add way i for ILX, plus ILX2IL and ILASM
|
|
|
|
| |
Add ILX2IL_OPTS and ILASM_OPTS
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Change the story about POSIX headers in C compilation.
Until now, all C code in the RTS and library cbits has by default been
compiled with settings for POSIXness enabled, that is:
#define _POSIX_SOURCE 1
#define _POSIX_C_SOURCE 199309L
#define _ISOC9X_SOURCE
If you wanted to negate this, you'd have to define NON_POSIX_SOURCE
before including headers.
This scheme has some bad effects:
* It means that ccall-unfoldings exported via interfaces from a
module compiled with -DNON_POSIX_SOURCE may not compile when
imported into a module which does not -DNON_POSIX_SOURCE.
* It overlaps with the feature tests we do with autoconf.
* It seems to have caused borkage in the Solaris builds for some
considerable period of time.
The New Way is:
* The default changes to not-being-in-Posix mode.
* If you want to force a C file into Posix mode, #include as
the **first** include the new file ghc/includes/PosixSource.h.
Most of the RTS C sources have this include now.
* NON_POSIX_SOURCE is almost totally expunged. Unfortunately
we have to retain some vestiges of it in ghc/compiler so that
modules compiled via C on Solaris using older compilers don't
break.
|
|
|
|
| |
Make recent _hsc.c / cbits changes work (i.e., need to add . to the include path)
|
|
|
|
|
|
| |
Steps towards getting GHCi working on alpha-dec-osf3 --
Clean up ghci/ByteCodeItbls.lhs, and add code for generating
a jump instruction on alpha.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
NB: This commit renames some files. In each of your build directories,
you will need to:
rm -f ghc/compiler/prelude/primops.txt
rm -f ghc/compiler/prelude/primops.i
rm -f ghc/lib/std/PrelGHC.hi-boot
lndir ../fptools # or wherever your CVS working directory is
The change:
Run PrelGHC.hi-boot through the preprocesor, as we already do primops.txt.
This commit introduces a new prefix, ".pp", which means "run through
preprocesor". In a previous commit, I changed ghc/compiler/Makefile
to preprocess primops.txt into primops.i. That is gone now. We now
preprocess primops.txt.pp (a file in the CVS repository) into primops.txt
(a platform-dependent file, created at build time). We also preprocess
PrelGHC.hi-boot.pp (a file in the CVS repository) into PrelGHC.hi-boot
(a platform-dependent file, created at build time).
The reason for using the preprocessor is because fewer primops are defined
if SUPPORT_LONG_LONGS is undefined. SUPPORT_LONG_LONGS is undefined on
64-bit architectures such as the Alpha.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Changed
# Add _hsc.c files to the cbits library
SRCS += $(wildcard ../*_hsc.c)
(which didn't work because SRCS has already been pattern-matched and
substituted into other make variables to death by then) to
# Add _hsc.c files to the cbits library
C_SRCS += $(wildcard ../*_hsc.c)
|
|
|
|
| |
clean up; move some code into more relevant parts of the file.
|
|
|
|
| |
Clean *_hsc.$(way_)o for other ways too.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Move FptoolsHcOpts out of the hslibs section of this file (which was
*exactly* the wrong place for it).
- Clarify the meaning of FptoolsHcOpts and GhcHcOpts.
NOTE: $(FptoolsHcOpts) gets added to every Haskell compilation for
Haskell *programs* (not libraries), including GHC itself. By default,
it contains only -O. To remove the -O, you need to override
FptoolsHcOpts in build.mk, not GhcHcOpts.
GhcHcOpts is still there, and contains options to be added when
compiling GHC only.
|
|
|
|
|
|
| |
Remove whitespace from the end of lines. The extra whitespace is
syntactically meaningful to make(!) and was causing us to do
a superfluous mkdependC in directories without any C files.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Added -static, a flag for compiling on the Alpha that is already
listed under machdepCCOpts in DriverFlags.hs. Without it, the
following assert in GC.c fails:
/* make sure the info pointer is into text space */
ASSERT(q && (LOOKS_LIKE_GHC_INFO(GET_INFO(q))
|| IS_HUGS_CONSTR_INFO(GET_INFO(q))));
Added -Xlinker -noprefix_recognition, a flag for Alpha compilation
that I just added to machdepCCOpts in DriverFlags.hs. We need
this flag to disable the following documented behavior of ld(1) on
Digital UNIX:
All routines that start with __init_ are treated, by default,
as initialization routines. These are routines that are called
without an argument when the file that contains them is loaded
or when the program that contains them is started.
Unfortunately, this flag produces the annoying (but harmless) gcc
message
gcc: -noprefix_recognition: linker input file unused since
linking not done
(See also ghc/compiler/main/DriverFlags.hs)
|
|
|
|
|
|
|
|
|
| |
Make the Time module thread-safe by calling the reentrant functions
gmtime_r and localtime_r instead of gmtime and localtime wherever
they are available.
(This is necessary to make Time work at all on our Alpha machine --
perhaps GHC tickles the reentrancy of the C library or something?)
|
|
|
|
|
| |
Add the *.a.list "list of object files to archive" file
to MOSTLY_CLEAN_FILES.
|
|
|
|
|
|
|
|
|
|
|
|
| |
Improved how we build library archives:
On Digital UNIX (or where otherwise available), use the "Z" option to
compress archives as we build them.
On Digital UNIX 5 (or where otherwise available), use the "-input" option,
which reads from a specified file the list of objects to archive. This is
significantly faster than piping the list of objects to xargs when the
number of objects to archive is large.
|
|
|
|
|
| |
Fixed: making dependencies for Haskell source files fails if -split-objs
is present in $(HC_OPTS).
|
|
|
|
|
| |
Added "--enable-hc-boot-unregisterised" option to configure,
for bootstrapping from unregisterised HC files.
|
|
|
|
| |
add a couple of missing ';'
|
|
|
|
| |
make ==> $(MAKE)
|
|
|
|
| |
Include way in HSC_C_OBJS to clean *_hsc.p_o too.
|
|
|
|
| |
Follow the s/includes/include/ change in package.conf.
|
|
|
|
| |
Set -DDLLized when DLLized is true for use in C source
|
|
|
|
| |
Fix DLL building, and add support for linking .hsc.o files into cbits libraries
|
|
|
|
| |
add warning about not changing WhatGccIsCalled from build.mk.
|