Commit 34cc75e1 authored by Ian Lynagh's avatar Ian Lynagh

GHC new build system megapatch

parent 74e1368d
This diff is collapsed.
......@@ -6,14 +6,14 @@ default_target: all
# Ideally we'd just include something to give us variables
# for paths and arguments to tools etc, and those set in mk/build.mk.
TOP=..
include $(TOP)/mk/boilerplate.mk
include $(TOP)/mk/config.mk
all:
$(RM) -rf $(BIN_DIST_INST_SUBDIR)
$(RM) -rf ghc*
$(RM) HelloWorld HelloWorld.o HelloWorld.hi output
# --force-local makes tar not think that c:/foo refers to a remote file
$(TAR) --force-local -jxf $(FPTOOLS_TOP_ABS)/$(BIN_DIST_TAR_BZ2)
$(TAR) --force-local -jxf $(BIN_DIST_TAR_BZ2)
ifeq "$(Windows)" "YES"
mv $(BIN_DIST_NAME) $(BIN_DIST_INST_DIR)
else
......
......@@ -4,9 +4,9 @@ set -e
# Check that we have all boot packages.
for dir in `grep "^[^# ][^ ]* *[^ ][^ ]* *[^ ][^ ]*$" packages | sed "s/ .*//"`
do
if test ! -d $dir
if test ! -f $dir/LICENSE
then
echo "Looks like you're missing $dir." >&2
echo "Error: $dir/LICENSE doesn't exist." >&2
echo "Maybe you haven't done './darcs-all get'?" >&2
exit 1
fi
......@@ -31,3 +31,19 @@ do
fi
done
for f in libraries/*; do
dir=`basename $f`
cabals=`echo $f/*.cabal`
if test -f $cabals; then
echo "Creating $f/ghc.mk"
rm -f $f/ghc.mk
pkg=`basename ${cabals%.cabal}`
echo "${f}_PACKAGE = ${pkg}" >> $f/ghc.mk
echo "\$(eval \$(call build-package,${f},dist-install,1))" >> $f/ghc.mk
rm -f $f/GNUmakefile
echo "Creating $f/GNUmakefile"
echo "dir = ${f}" >> $f/GNUmakefile
echo "TOP = ../.." >> $f/GNUmakefile
echo "include \$(TOP)/mk/sub-makefile.mk" >> $f/GNUmakefile
fi
done
The Glasgow Haskell Compiler License
Copyright 2002, The University Court of the University of Glasgow.
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
- Redistributions of source code must retain the above copyright notice,
this list of conditions and the following disclaimer.
- Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.
- Neither name of the University nor the names of its contributors may be
used to endorse or promote products derived from this software without
specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE UNIVERSITY COURT OF THE UNIVERSITY OF
GLASGOW AND THE CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
UNIVERSITY COURT OF THE UNIVERSITY OF GLASGOW OR THE CONTRIBUTORS BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
DAMAGE.
This diff is collapsed.
-- WARNING: ghc.cabal is automatically generated from ghc.cabal.in by
-- ./configure. Make sure you are editing ghc.cabal.in, not ghc.cabal.
Name: ghc
Version: @ProjectVersion@
License: BSD3
......@@ -45,6 +48,15 @@ Flag ncg
Flag stage1
Description: Is this stage 1?
Default: False
Flag stage2
Description: Is this stage 2?
Default: False
Flag stage3
Description: Is this stage 3?
Default: False
Library
Exposed: False
......@@ -103,7 +115,12 @@ Library
Build-Depends: extensible-exceptions
Extensions: PatternSignatures
else
Include-Dirs: stage2plus
if flag(stage2)
Include-Dirs: stage2
else
if flag(stage3)
Include-Dirs: stage2
Install-Includes: HsVersions.h, ghc_boot_platform.h
c-sources:
......
This diff is collapsed.
......@@ -72,7 +72,8 @@ doMkDependHS srcs = do
-- Prcess them one by one, dumping results into makefile
-- and complaining about cycles
hsc_env <- getSession
mapM (liftIO . processDeps dflags hsc_env excl_mods (mkd_tmp_hdl files)) sorted
root <- liftIO getCurrentDirectory
mapM (liftIO . processDeps dflags hsc_env excl_mods root (mkd_tmp_hdl files)) sorted
-- If -ddump-mod-cycles, show cycles in the module graph
liftIO $ dumpModCycles dflags mod_summaries
......@@ -158,6 +159,7 @@ beginMkDependHS dflags = do
processDeps :: DynFlags
-> HscEnv
-> [ModuleName]
-> FilePath
-> Handle -- Write dependencies to here
-> SCC ModSummary
-> IO ()
......@@ -176,11 +178,11 @@ processDeps :: DynFlags
--
-- For {-# SOURCE #-} imports the "hi" will be "hi-boot".
processDeps _ _ _ _ (CyclicSCC nodes)
processDeps _ _ _ _ _ (CyclicSCC nodes)
= -- There shouldn't be any cycles; report them
ghcError (ProgramError (showSDoc $ GHC.cyclicModuleErr nodes))
processDeps dflags hsc_env excl_mods hdl (AcyclicSCC node)
processDeps dflags hsc_env excl_mods root hdl (AcyclicSCC node)
= do { let extra_suffixes = depSuffixes dflags
include_pkg_deps = depIncludePkgDeps dflags
src_file = msHsFilePath node
......@@ -194,7 +196,7 @@ processDeps dflags hsc_env excl_mods hdl (AcyclicSCC node)
Nothing -> return () ;
Just hi_file -> do
{ let hi_files = insertSuffixes hi_file extra_suffixes
write_dep (obj,hi) = writeDependency hdl [obj] hi
write_dep (obj,hi) = writeDependency root hdl [obj] hi
-- Add one dependency for each suffix;
-- e.g. A.o : B.hi
......@@ -204,7 +206,7 @@ processDeps dflags hsc_env excl_mods hdl (AcyclicSCC node)
-- Emit std dependency of the object(s) on the source file
-- Something like A.o : A.hs
; writeDependency hdl obj_files src_file
; writeDependency root hdl obj_files src_file
-- Emit a dependency for each import
......@@ -248,12 +250,18 @@ findDependency hsc_env srcloc pkg imp is_boot include_pkg_deps
}
-----------------------------
writeDependency :: Handle -> [FilePath] -> FilePath -> IO ()
-- (writeDependency h [t1,t2] dep) writes to handle h the dependency
writeDependency :: FilePath -> Handle -> [FilePath] -> FilePath -> IO ()
-- (writeDependency r h [t1,t2] dep) writes to handle h the dependency
-- t1 t2 : dep
writeDependency hdl targets dep
= hPutStrLn hdl (unwords (map forOutput targets) ++ " : " ++ forOutput dep)
where forOutput = escapeSpaces . reslash Forwards . normalise
writeDependency root hdl targets dep
= do let -- We need to avoid making deps on
-- c:/foo/...
-- on cygwin as make gets confused by the :
-- Making relative deps avoids some instances of this.
dep' = makeRelative root dep
forOutput = escapeSpaces . reslash Forwards . normalise
output = unwords (map forOutput targets) ++ " : " ++ forOutput dep'
hPutStrLn hdl output
-----------------------------
insertSuffixes
......
This diff is collapsed.
......@@ -143,8 +143,14 @@ rnImportDecl this_mod (L loc (ImportDecl loc_imp_mod_name mb_pkg want_boot
-- Issue a user warning for a redundant {- SOURCE -} import
-- NB that we arrange to read all the ordinary imports before
-- any of the {- SOURCE -} imports
warnIf (want_boot && not (mi_boot iface))
-- any of the {- SOURCE -} imports.
--
-- in --make and GHCi, the compilation manager checks for this,
-- and indeed we shouldn't do it here because the existence of
-- the non-boot module depends on the compilation order, which
-- is not deterministic. The hs-boot test can show this up.
dflags <- getDOpts
warnIf (want_boot && not (mi_boot iface) && isOneShot (ghcMode dflags))
(warnRedundantSourceImport imp_mod_name)
let
......
......@@ -95,10 +95,18 @@ HostPlatform=`/bin/sh $srcdir/config.sub $host` || exit 1
TargetPlatform=`/bin/sh $srcdir/config.sub $target` || exit 1
if test x"$TargetPlatform" != x"$HostPlatform" ; then
echo "GHC configuration does not support differing host/target (i.e., cross-compiling)"
exit 1
AC_MSG_ERROR([
GHC configuration does not support differing host/target (i.e., cross-compiling)])
fi
case $HostPlatform in
*-cygwin*)
AC_MSG_WARN([GHC does not support the Cygwin target at the moment])
AC_MSG_WARN([I'm assuming you wanted to build for i386-unknown-mingw32])
HostPlatform=i386-unknown-mingw32
;;
esac
exeext=''
soext='.so'
#
......@@ -645,12 +653,16 @@ AC_ARG_WITH([ghc],
fi
WithGhc="$GHC"])
# GHC is passed to Cabal, so we need a native path
if test "x$HostPlatform" = "xi386-unknown-mingw32" && \
test "${OSTYPE}" != "msys" && \
test "${WithGhc}" != ""
if test "${WithGhc}" != "" && test "$HostPlatform" = "i386-unknown-mingw32"
then
# Canonicalise to <drive>:/path/to/ghc
WithGhc=`cygpath -m ${WithGhc}`
if test "${OSTYPE}" = "msys"
then
WithGhc=`echo "${WithGhc}" | sed "s#^/\([a-zA-Z]\)/#\1:/#"`
else
# Canonicalise to <drive>:/path/to/ghc
WithGhc=`cygpath -m ${WithGhc}`
fi
echo "Canonicalised to: ${WithGhc}"
fi
AC_SUBST([WithGhc])
......@@ -663,8 +675,27 @@ AC_ARG_WITH(hc,
)
AC_SUBST(WithHc)
AC_ARG_ENABLE(bootstrap-with-devel-snapshot,
[AC_HELP_STRING([--enable-bootstrap-with-devel-snapshot],
[Allow bootstrapping using a development snapshot of GHC. This is not guaranteed to work.])],
EnableBootstrapWithDevelSnaphost=YES,
EnableBootstrapWithDevelSnaphost=NO
)
if test "$WithGhc" != ""; then
FPTOOLS_GHC_VERSION([GhcVersion], [GhcMajVersion], [GhcMinVersion], [GhcPatchLevel])dnl
if test `expr $GhcMinVersion % 2` = "1"; then
echo $EnableBootstrapWithDevelSnaphost
if test "$EnableBootstrapWithDevelSnaphost" = "NO"; then
AC_MSG_ERROR([
$WithGhc is a development snapshot of GHC, version $GhcVersion.
Bootstrapping using this version of GHC is not supported, and may not
work. Use --enable-bootstrap-with-devel-snapshot to try it anyway,
or --with-ghc to specify a different GHC to use.])
fi
fi
AC_SUBST(GhcVersion)dnl
AC_SUBST(GhcMajVersion)dnl
AC_SUBST(GhcMinVersion)dnl
......@@ -971,6 +1002,10 @@ dnl ** check for tar
dnl if GNU tar is named gtar, look for it first.
AC_PATH_PROGS(TarCmd,gtar tar,tar)
dnl ** check for patch
dnl if GNU patch is named gpatch, look for it first
AC_PATH_PROGS(PatchCmd,gpatch patch, patch)
AC_PATH_PROG(HSCOLOUR,HsColour)
# HsColour is passed to Cabal, so we need a native path
if test "x$HostPlatform" = "xi386-unknown-mingw32" && \
......@@ -989,15 +1024,6 @@ FP_PROG_FO_PROCESSOR
dnl ** check for ghc-pkg command
FP_PROG_GHC_PKG
AC_ARG_WITH(greencard,
[AC_HELP_STRING([--with-greencard=ARG],
[Use ARG as the path to greencard [default=autodetct]])],
[
GreenCardCmd=$withval;
FPTOOLS_GREENCARD(3.00)
]
)
dnl ** check for installed happy binary + version
dnl (don't do it if we're booting from .hc files though.)
if test "$BootingFromHc" = "NO"; then
......@@ -1290,7 +1316,7 @@ else
fi
AC_SUBST(HavePapi)
AC_CONFIG_FILES([mk/config.mk compiler/ghc.cabal ghc/ghc-bin.cabal utils/runghc/runghc.cabal ghc.spec extra-gcc-opts docs/users_guide/ug-book.xml])
AC_CONFIG_FILES([mk/config.mk mk/project.mk compiler/ghc.cabal ghc/ghc-bin.cabal ghc.spec extra-gcc-opts docs/users_guide/ug-book.xml])
AC_CONFIG_COMMANDS([mk/stamp-h],[echo timestamp > mk/stamp-h])
AC_OUTPUT
......@@ -1313,3 +1339,69 @@ checkMake380() {
checkMake380 make
checkMake380 gmake
echo ["
----------------------------------------------------------------------
Configure completed successfully.
Building GHC version : $ProjectVersion
Build platform : $BuildPlatform
Host platform : $HostPlatform
Target platform : $TargetPlatform
"]
if test "$BootingFromHc" = "YES"; then
echo ["\
Bootstrapping from HC files.
"]
else
echo ["\
Bootstrapping using : $WithGhc
which is version : $GhcVersion
"]
fi
echo ["\
Using GCC : $WhatGccIsCalled
which is version : $GccVersion
ld : $LdCmd
Happy : $HappyCmd
Alex : $AlexCmd
Python : $PythonCmd
Perl : $PerlCmd"]
if test "$HSCOLOUR" = ""; then
echo ["
HsColour was not found; documentation will not contain source links
"]
else
echo ["\
HsColour : $HSCOLOUR
"]
fi
if test "$DIR_DOCBOOK_XSL" = ""; then
echo ["\
Building DocBook documentation : no"]
else
echo ["\
Building DocBook documentation : yes"]
fi
echo ["\
Building shared libraries : $BuildSharedLibs"]
echo ["----------------------------------------------------------------------
"]
echo "\
For a standard build of GHC (fully optimised with profiling), type (g)make.
To make changes to the default build configuration, copy the file
mk/build.mk.sample to mk/build.mk, and edit the settings in there.
For more information on how to configure your GHC build, see
http://hackage.haskell.org/trac/ghc/wiki/Building
"
......@@ -5,7 +5,7 @@ dnl
#
# Is it there?
AC_INIT(Makefile-vars.in)
AC_INIT(mk/config.mk.in)
exeext=''
......@@ -148,7 +148,7 @@ dnl ** Check gcc version and flags we need to pass it **
FP_GCC_EXTRA_FLAGS
#
AC_CONFIG_FILES(Makefile-vars extra-gcc-opts)
AC_CONFIG_FILES(extra-gcc-opts mk/config.mk)
AC_OUTPUT
echo "****************************************************"
......
......@@ -50,9 +50,6 @@ distclean: clean
maintainer-clean: distclean
ifeq "$(LATEX_DOCS)" "YES"
BINDIST_EXTRAS += core.pdf
endif
include $(TOP)/mk/bindist.mk
# dummy targets
......
......@@ -45,7 +45,6 @@ install-docs:: $(MAN_PAGE).$(MAN_SECTION)
endif
BINDIST_EXTRAS += $(MAN_PAGE).$(MAN_SECTION)
include $(TOP)/mk/bindist.mk
include $(TOP)/mk/target.mk
docs/users_guide_DOCBOOK_SOURCES := \
$(wildcard docs/users_guide/*.xml) \
$(basename $(wildcard docs/users_guide/*.xml.in))
$(eval $(call docbook,docs/users_guide,users_guide))
TOP=../..
include $(TOP)/mk/boilerplate.mk
ifneq "$(TARGETPLATFORM)" "i386-unknown-mingw32"
SCRIPT_DIR = $(DESTDIR)$(bindir)
SCRIPT_BASE = ghc-pkg
SCRIPT_VERSIONED_BASE = $(SCRIPT_BASE)-$(ProjectVersion)
SCRIPT = $(SCRIPT_DIR)/$(SCRIPT_BASE)
SCRIPT_VERSIONED = $(SCRIPT_DIR)/$(SCRIPT_VERSIONED_BASE)
install::
mv $(SCRIPT) $(SCRIPT_VERSIONED)
ln -s $(SCRIPT_VERSIONED_BASE) $(SCRIPT)
endif
include $(TOP)/mk/bindist.mk
include $(TOP)/mk/target.mk
$(eval $(call all-target,driver,$(INPLACE_LIB)/ghc-usage.txt) $(INPLACE_LIB)/ghci-usage.txt)
$(INPLACE_LIB)/ghc-usage.txt: driver/ghc-usage.txt
cp $< $@
$(INPLACE_LIB)/ghci-usage.txt: driver/ghci-usage.txt
cp $< $@
INSTALL_LIBS += driver/ghc-usage.txt driver/ghci-usage.txt
ifeq "$(Windows)" "YES"
driver/ghc_dist_C_SRCS = ghc.c
driver/ghc_dist_PROG = ghc-$(ProjectVersion)
driver/ghc_dist_INSTALL = YES
$(eval $(call build-prog,driver/ghc,dist,0))
endif
#-----------------------------------------------------------------------------
# $Id: Makefile,v 1.11 2005/05/05 00:58:38 sof Exp $
#
TOP=../..
include $(TOP)/mk/boilerplate.mk
# -----------------------------------------------------------------------------
# ghci script
ifeq "$(TARGETPLATFORM)" "i386-unknown-mingw32"
C_PROG = ghci$(exeext)
C_PROG_VERSIONED = ghci-$(ProjectVersion)$(exeext)
C_OBJS += ghci.res
all :: $(C_PROG_VERSIONED)
$(C_PROG_VERSIONED) : $(C_PROG)
cp $< $@
else
C_SRCS=
endif
ifeq "$(TARGETPLATFORM)" "i386-unknown-mingw32"
INSTALL_PROGS += $(C_PROG) $(C_PROG_VERSIONED)
GHCII_SCRIPT=$(DESTDIR)$(bindir)/ghcii.sh
GHCII_SCRIPT_VERSIONED = $(DESTDIR)$(bindir)/ghcii-$(ProjectVersion).sh
install::
$(RM) -f $(GHCII_SCRIPT)
echo "#!$(SHELL)" >> $(GHCII_SCRIPT)
echo 'exec "$$0"/../ghc --interactive $${1+"$$@"}' >> $(GHCII_SCRIPT)
chmod +x $(GHCII_SCRIPT)
cp $(GHCII_SCRIPT) $(GHCII_SCRIPT_VERSIONED)
chmod +x $(GHCII_SCRIPT_VERSIONED)
else
LINK = ghci
LINK_TARGET = $(LINK)-$(ProjectVersion)
INSTALLED_SCRIPT=$(DESTDIR)$(bindir)/$(LINK_TARGET)
install::
$(RM) -f $(INSTALLED_SCRIPT)
echo "#!$(SHELL)" >> $(INSTALLED_SCRIPT)
echo 'exec $(bindir)/ghc-$(ProjectVersion) --interactive $${1+"$$@"}' >> $(INSTALLED_SCRIPT)
$(EXECUTABLE_FILE) $(INSTALLED_SCRIPT)
endif
ifneq "$(TARGETPLATFORM)" "i386-unknown-mingw32"
INPLACE_SCRIPT = ghci
INPLACE_GHC = $(FPTOOLS_TOP_ABS)/ghc/stage2-inplace/ghc
CLEAN_FILES += $(INPLACE_SCRIPT)
all::
$(RM) -f $(INPLACE_SCRIPT)
echo "#!$(SHELL)" >> $(INPLACE_SCRIPT)
echo "exec $(INPLACE_GHC) --interactive $${1+"$$@"}" >> $(INPLACE_SCRIPT)
$(EXECUTABLE_FILE) $(INPLACE_SCRIPT)
endif
ifeq "$(TARGETPLATFORM)" "i386-unknown-mingw32"
ghci.res : ghci.rc ghci.ico
windres --preprocessor="$(CPP) -xc -DRC_INVOKED" -o ghci.res -i ghci.rc -O coff
endif
include $(TOP)/mk/bindist.mk
include $(TOP)/mk/target.mk
dir = driver/ghci
TOP = ../..
include $(TOP)/mk/sub-makefile.mk
ifneq "$(Windows)" "YES"
install: install_driver_ghci
.PHONY: install_driver_ghci
install_driver_ghci: WRAPPER=$(DESTDIR)$(bindir)/ghci-$(ProjectVersion)
install_driver_ghci:
$(MKDIRHIER) $(DESTDIR)$(bindir)
$(RM) -f $(WRAPPER)
echo '#!$(SHELL)' >> $(WRAPPER)
echo 'exec $(bindir)/ghc-$(ProjectVersion) --interactive ${1+"$@"}' >> $(WRAPPER)
$(EXECUTABLE_FILE) $(WRAPPER)
$(RM) -f $(DESTDIR)$(bindir)/ghci
$(LN_S) ghci-$(ProjectVersion) $(DESTDIR)$(bindir)/ghci
else # Windows...
driver/ghci_dist_C_SRCS = ghci.c
driver/ghci_dist_PROG = ghci$(exeext)
driver/ghci_dist_INSTALL = YES
driver/ghci_dist_OTHER_OBJS = driver/ghci/ghci.res
$(eval $(call build-prog,driver/ghci,dist,0))
driver/ghci_dist_PROG_VER = ghci-$(ProjectVersion)$(exeext)
INSTALL_BINS += driver/ghci/dist/build/tmp/$(driver/ghci_dist_PROG_VER)
driver/ghci/ghci.res : driver/ghci/ghci.rc driver/ghci/ghci.ico
windres --preprocessor="$(CPP) -xc -DRC_INVOKED" -o driver/ghci/ghci.res -i driver/ghci/ghci.rc -O coff
driver/ghci/dist/build/tmp/$(driver/ghci_dist_PROG_VER) : driver/ghci/dist/build/tmp/$(driver/ghci_dist_PROG)
$(CP) $< $@
install : install_driver_ghcii
.PHONY: install_driver_ghcii
install_driver_ghcii: GHCII_SCRIPT=$(DESTDIR)$(bindir)/ghcii.sh
install_driver_ghcii: GHCII_SCRIPT_VERSIONED = $(DESTDIR)$(bindir)/ghcii-$(ProjectVersion).sh
install_driver_ghcii:
$(MKDIRHIER) $(DESTDIR)$(bindir)
$(RM) -f $(GHCII_SCRIPT)
echo "#!$(SHELL)" >> $(GHCII_SCRIPT)
echo 'exec "$$0"/../ghc --interactive $${1+"$$@"}' >> $(GHCII_SCRIPT)
$(EXECUTABLE_FILE) $(GHCII_SCRIPT)
cp $(GHCII_SCRIPT) $(GHCII_SCRIPT_VERSIONED)
$(EXECUTABLE_FILE) $(GHCII_SCRIPT_VERSIONED)
endif
#-----------------------------------------------------------------------------
# $Id: Makefile,v 1.3 2001/03/23 16:36:21 simonmar Exp $
TOP=../..
include $(TOP)/mk/boilerplate.mk
PROG = ghc-asm
all:: $(PROG).prl
$(RM) -f $(PROG)
echo '#!$(PERL)' >> $(PROG)
echo '$$TARGETPLATFORM = "$(TARGETPLATFORM)";' >> $(PROG)
cat $< >> $(PROG)
$(EXECUTABLE_FILE) $(PROG)
INSTALL_LIBEXEC_SCRIPTS += $(PROG)
CLEAN_FILES += $(PROG) $(PROG).prl
# needed for bootstrapping with HC files
ifeq "$(BootingFromHc)" "YES"
boot :: all
endif
BINDIST_EXTRAS += $(PROG)
include $(TOP)/mk/bindist.mk
include $(TOP)/mk/target.mk
dir = driver/mangler
TOP = ../..
include $(TOP)/mk/sub-makefile.mk
driver/mangler_PERL_SRC = ghc-asm.lprl
driver/mangler_dist_PROG = $(GHC_MANGLER_PGM)
driver/mangler_dist_LIBEXEC = YES
$(eval $(call build-perl,driver/mangler,dist))
INSTALL_LIBEXEC_SCRIPTS += driver/mangler/dist/$(GHC_MANGLER_PGM)
TOP=../..
include $(TOP)/mk/boilerplate.mk
ifeq "$(TARGETPLATFORM)" "i386-unknown-mingw32"
install::
cp $(DESTDIR)$(bindir)/runghc.exe $(DESTDIR)$(bindir)/runhaskell.exe
else
install::
ln -sf runghc $(DESTDIR)$(bindir)/runhaskell
endif
include $(TOP)/mk/bindist.mk
include $(TOP)/mk/target.mk
#-----------------------------------------------------------------------------
# $Id: Makefile,v 1.2 2000/11/03 16:54:52 simonmar Exp $
TOP=../..
include $(TOP)/mk/boilerplate.mk
PROG = ghc-split
all:: $(PROG).prl
$(RM) -f $(PROG)
echo '#!$(PERL)' >> $(PROG)
echo '$$TARGETPLATFORM = "$(TARGETPLATFORM)";' >> $(PROG)
cat $< >> $(PROG)
$(EXECUTABLE_FILE) $(PROG)
INSTALL_LIBEXEC_SCRIPTS += $(PROG)
CLEAN_FILES += $(PROG) $(PROG).prl
BINDIST_EXTRAS += $(PROG)
include $(TOP)/mk/bindist.mk
include $(TOP)/mk/target.mk
dir = driver/split
TOP = ../..
include $(TOP)/mk/sub-makefile.mk
driver/split_PERL_SRC = ghc-split.lprl
driver/split_dist_PROG = $(GHC_SPLIT_PGM)
driver/split_dist_LIBEXEC = YES
$(eval $(call build-perl,driver/split,dist))
INSTALL_LIBEXEC_SCRIPTS += driver/split/dist/$(GHC_SPLIT_PGM)
This diff is collapsed.
# WARNING: ghc.spec is automatically generated from ghc.spec.in by
# ./configure. Make sure you are editing ghc.spec.in, not ghc.spec.
#
# RPM spec file for GHC -*-rpm-spec-*-
#
# Copyright [1998..2007] The GHC Team
......
......@@ -10,8 +10,6 @@
module Main (main) where
#include "HsVersions.h"
-- The official GHC API
import qualified GHC
import GHC ( DynFlags(..),