X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=mk%2Fconfig.mk.in;h=e1500b79e1ec2ac8cd441eb1cac2bf7f0d1aa027;hb=a277751c44d6db6f4aa93fd8dc06bfdfbdc86760;hp=fe11b895751e720bf634d0204544c1792c681485;hpb=0ba4b0a1104131cd6eae8d570c1e1a713094543c;p=ghc-hetmet.git diff --git a/mk/config.mk.in b/mk/config.mk.in index fe11b89..e1500b7 100644 --- a/mk/config.mk.in +++ b/mk/config.mk.in @@ -56,6 +56,13 @@ # will be built as HC files for the target system, and likely won't # build on this host platform. # +# An important invariant is that for any piece of source code, the +# platform on which the code is going to run is the HOST platform, +# and the platform on which we are building is the BUILD platform. +# Additionally for the compiler, the platform this compiler will +# generate code for is the TARGET. TARGET is not meaningful outside +# the compiler sources. +# # Guidelines for when to use HOST vs. TARGET: # # - In the build system (Makefile, foo.mk), normally we should test @@ -65,11 +72,10 @@ # # - In the compiler itself, we should test HOST or TARGET depending # on whether the conditional relates to the code being generated, or -# the platform on which the compiler is running. For stage 2, -# HOSTPLATFORM should be reset to be TARGETPLATFORM (we currently -# don't do this, but we should). +# the platform on which the compiler is running. See the section +# on "Coding Style" in the commentary for more details. # -# - In the RTS and library code, we should be testing TARGET only. +# - In all other code, we should be testing HOST only. # # NOTE: cross-compiling is not well supported by the build system. # You have to do a lot of work by hand to cross compile: see the @@ -180,12 +186,6 @@ IncludeTestDirsInBuild=NO IncludeExampleDirsInBuild=NO # -# Which ways should SGML documents be built? -# options are: dvi ps pdf html rtf -# -SGMLDocWays= - -# # Which ways should DocBook XML documents be built? # options are: dvi ps pdf html # @@ -253,8 +253,9 @@ GhcUnregisterised=NO # (as well as a C backend) # # Target platforms supported: -# i386, sparc & powerpc -ifneq "$(findstring $(HostArch_CPP), i386 sparc powerpc)" "" +# i386, powerpc +# sparc has bitrotted +ifneq "$(findstring $(HostArch_CPP), i386 powerpc)" "" GhcWithNativeCodeGen=YES else GhcWithNativeCodeGen=NO @@ -301,6 +302,7 @@ endif # thr_p : threaded profiled # debug : debugging (compile with -g for the C compiler, and -DDEBUG) # debug_p : debugging profiled +# debug_u : debugging unregisterised # thr_debug : debugging threaded # thr_debug_p : debugging threaded profiled # @@ -323,17 +325,6 @@ GhcLibHcOpts=-O -Rghc-timing # Win32 only: Enable the RTS and libraries to be built as DLLs DLLized=@EnableWin32DLLs@ -# Win32 only: are we building a compiler that tries to reduce external -# dependencies? i.e., one that doesn't assume that the user has got -# the cygwin toolchain installed on his/her Win32 box. -# -# GHC is still dependent on GNU tools in the backend (gcc to further process -# .c/.hc/.s/.o files + 'perl' to mangle and split), but using this -# option a GHC distribution can be put together which includes a minimal -# set of these open source tools. -# -MinimalUnixDeps=@MinimalUnixDeps@ - # Strip local symbols from libraries? This can make the libraries smaller, # but makes debugging somewhat more difficult. Doesn't work with all ld's. # @@ -402,27 +393,6 @@ LIBM=@LIBM@ # GhcLibsWithObjectIO=@GhcLibsWithObjectIO@ -# Build the Haskell OpenGL binding? -# -GhcLibsWithOpenGL=@GhcLibsWithOpenGL@ -GLU_CFLAGS=@GLU_CFLAGS@ -GLU_LIBS=@GLU_LIBS@ - -# Build the Haskell OpenAL binding? -# -GhcLibsWithOpenAL=@GhcLibsWithOpenAL@ - -# Build the Haskell GLUT binding? -# -GhcLibsWithGLUT=@GhcLibsWithGLUT@ -GLUT_LIBS=@GLUT_LIBS@ - -# X11 stuff -# -GhcLibsWithX11=@GhcLibsWithX11@ -X_CFLAGS=@X_CFLAGS@ -X_LIBS=@X_LIBS@ - # .NET interop support? # DotnetSupport=@DotnetSupport@ @@ -606,12 +576,31 @@ ifeq "$(strip $(mandir))" "" mandir = $(prefix)/man endif +#----------------------------------------------------------------------------- +# install configuration -################################################################################ # -# Utilities programs: flags +# Set this to have files installed with a specific owner # -################################################################################ +INSTALL_OWNER = + +# +# Set this to have files installed with a specific group +# +INSTALL_GROUP = + +# +# Invocations of `install' for the four different classes +# of targets: +# +INSTALL_PROGRAM = $(INSTALL) -m 755 +INSTALL_SCRIPT = $(INSTALL) -m 755 +INSTALL_SHLIB = $(INSTALL) -m 755 +INSTALL_DATA = $(INSTALL) -m 644 +INSTALL_DIR = $(MKDIRHIER) + +# ----------------------------------------------------------------------------- +# Utilities programs: flags # If you want to give any standard flags to pretty much any utility # (see utils.mk for a complete list), by adding a line here @@ -758,9 +747,6 @@ ifeq "$(TARGETPLATFORM)" "ia64-unknown-linux" SRC_CC_OPTS += -G0 endif -# Solaris2 strikes again. -unix_SRC_HSC2HS_OPTS += @unix_SRC_HSC2HS_OPTS@ - #----------------------------------------------------------------------------- # GMP Library (version 2.0.x or above) # @@ -784,11 +770,6 @@ HaveFrameworkHaskellSupport = @HaveFrameworkHaskellSupport@ HavePosixRegex = @HavePosixRegex@ #----------------------------------------------------------------------------- -# GTK+ - -GTK_CONFIG = @GTK_CONFIG@ - -#----------------------------------------------------------------------------- # Flex (currently unused, could be moved to glafp-utils) # FLEX = @LEX@ @@ -838,12 +819,17 @@ RM = rm -f SED = @SedCmd@ SHELL = /bin/sh +LD = @LdCmd@ + # Some ld's support the -x flag and some don't, so the configure # script detects which we have and sets LdXFlag to "-x" or "" # respectively. -LD = @LdCmd@ LD_X = @LdXFlag@ +# GNU ld supports input via a linker script, which is useful to avoid +# overflowing command-line length limits. +LdIsGNULd = @LdIsGNULd@ + # # In emergency situations, REAL_SHELL is used to perform shell commands # from within the ghc driver script, by scribbling the command line to @@ -887,27 +873,6 @@ TROFF = troff UNAME = uname #----------------------------------------------------------------------------- -# SGML stuff - -JADE = @JadeCmd@ - -SGML2DVI = $(DOCBOOK_PREFIX)db2dvi -SGML2HTML = $(DOCBOOK_PREFIX)db2html -SGML2PS = $(DOCBOOK_PREFIX)db2ps -SGML2PDF = $(DOCBOOK_PREFIX)db2pdf -SGML2RTF = $(DOCBOOK_PREFIX)db2rtf - -SGMLSTYLESHEET = $(FPTOOLS_TOP_ABS)/docs/fptools-both.dsl - -SRC_SGML2DVI_OPTS = -d $(SGMLSTYLESHEET) -SRC_SGML2HTML_OPTS = -d $(SGMLSTYLESHEET) -SRC_SGML2PS_OPTS = -d $(SGMLSTYLESHEET) -SRC_SGML2RTF_OPTS = -d $(SGMLSTYLESHEET) -SRC_SGML2PDF_OPTS = -d $(SGMLSTYLESHEET) - -DOCBOOK_CATALOG = @Catalog@ - -#----------------------------------------------------------------------------- # DocBook XML stuff XSLTPROC = @XsltprocCmd@ @@ -935,7 +900,6 @@ ETAGS = $(ETAGS_PREFIX)etags VERBATIM = $(VERBATIM_PREFIX)verbatim SGMLVERB = $(SGMLVERB_PREFIX)sgmlverb RUNTEST = $(RUNTEST_PREFIX)runstdtest -LX = @LxCmd@ BLD_DLL = dllwrap @@ -1099,6 +1063,10 @@ WAY_debug_HC_OPTS=-optc-DDEBUG WAY_debug_p_NAME=debug profiled WAY_debug_p_HC_OPTS=-optc-DDEBUG -prof +# Way 'debug_u': +WAY_debug_u_NAME=debug unregisterised +WAY_debug_u_HC_OPTS=-optc-DDEBUG -unreg + # Way 'thr_debug': WAY_thr_debug_NAME=threaded WAY_thr_debug_HC_OPTS=-optc-DTHREADED_RTS -optc-DDEBUG