X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=mk%2Fconfig.mk.in;h=146addcda96e45036fb62cb440d52e0823e268fa;hb=7bf6200f9dd8871d9a2b95a736d29a4bcefca892;hp=a20a3b1578b43e2555983571a63c58e3839de0a9;hpb=cb524d9e0991bad5762b31ade9907f037f6455c1;p=ghc-hetmet.git diff --git a/mk/config.mk.in b/mk/config.mk.in index a20a3b1..146addc 100644 --- a/mk/config.mk.in +++ b/mk/config.mk.in @@ -1,4 +1,4 @@ -# +# -*-makefile-*- # @configure_input@ # ################################################################################ @@ -86,7 +86,7 @@ HostVendor_CPP = @HostVendor_CPP@ # LeadingUnderscore=@LeadingUnderscore@ -# Pin a suffix on executables? If so, what. (cygwin32 only). +# Pin a suffix on executables? If so, what (Windows only). exeext=@exeext@ ################################################################################ @@ -110,7 +110,12 @@ exeext=@exeext@ # * ghc next # then it's up to you +ifeq "$(GhcWithHscBuiltViaC)" "YES" +# need hslibs/lang first if we're bootstrapping +ProjectsToBuild = glafp-utils hslibs ghc +else ProjectsToBuild = glafp-utils ghc hslibs +endif # # Make a distinction between building and installing # @@ -136,22 +141,8 @@ IncludeTestDirsInBuild=NO # #--------------------------------------------------------------- -# Specify the Haskell compiler to be used to compile the compiler itself -# -# WithGhcHc Path name of the compiler to use -# -# WithGhcHcType What "type" of compiler is being used -# Valid options: -# HC_CHALMERS_HBC -# HC_GLASGOW_GHC -# HC_ROJEMO_NHC -# HC_UNSPECIFIED - -WithGhcHc = @WithHc@ - -# Variable which is set to the version number of the $(WithGhcHc) we're using. -# Not currently used, but might come in handy sometime soon. -#WithGhcHcVersion = $(shell echo `if ( $(WithGhcHc) --version 2>/dev/null >/dev/null ) then $(WithGhcHc) --version 2>&1 | @SedCmd@ -e 's/^.*version [^0-9]*\([.0-9]*\).*/\1/;s/\.//'; else echo unknown; fi; ` ) +# The compiler used to build GHC is $(GHC). To change the actual compiler +# used, re-configure with --with-ghc=. # Extra ways in which to build the compiler (for example, you might want to # build a profiled compiler so you can see where it spends its time) @@ -173,16 +164,23 @@ GhcHcOpts=-O # GhcWithHscBuiltViaC - build GHC compiler proper (\`hsc') from .hc files? GhcWithHscBuiltViaC=@BootingFromHc@ -# Build a registerised version of hsc and runtime -# (unregisterised used for Hugs at the moment) -GhcWithRegisterised=YES - # Build a compiler with a native code generator backend # (as well as a C backend) # # Target platforms supported: # i386, alpha & sparc -GhcWithNativeCodeGen=$(shell if (test x$(findstring $(HostArch_CPP),i386 alpha sparc) = x); then echo NO; else echo YES; fi) +ifneq "$(findstring $(HostArch_CPP), i386 alpha sparc)" "" +GhcWithNativeCodeGen=YES +else +GhcWithNativeCodeGen=NO +endif + +# Include GHCi in the compiler +ifneq "$(findstring $(HostOS_CPP), linux solaris freebsd netbsd openbsd)" "" +GhcWithInterpreter=YES +else +GhcWithInterpreter=NO +endif # # Building various ways? @@ -209,6 +207,7 @@ GhcLibWays=p endif # Option flags to pass to GHC when it's compiling prelude modules +# *and* standard library modules (std) *and* modules in hslibs # Typically these are things like -O or -dcore-lint # The ones that are *essential* are wired into ghc/lib/Makefile # @@ -219,8 +218,8 @@ GhcLibHcOpts=-O # Win32 only: Enable the RTS and libraries to be built as DLLs # Don't split object files for libs if we're building DLLs -EnableWin32DLLs=@EnableWin32DLLs@ -ifeq "($EnableWin32DLLs)" "YES" +DLLized=@EnableWin32DLLs@ +ifeq "$(DLLized)" "YES" SplitObjs=NO else SplitObjs=YES @@ -247,6 +246,9 @@ StripLibraries=NO GhcRtsHcOpts=-O2 GhcRtsCcOpts=-O2 -optc-fomit-frame-pointer +# Include the front panel code? Needs GTK+. +GhcRtsWithFrontPanel = NO + ################################################################################ # # hslibs project @@ -262,20 +264,26 @@ GhcRtsCcOpts=-O2 -optc-fomit-frame-pointer HsLibsFor = ghc # hslibs for GHC also uses the following variables (defined above): -# GhcLibWays, GhcLibHcOpts, GhcLibToolsHcOpts, EnableWin32DLLs, StripLibraries +# GhcLibWays, GhcLibHcOpts, GhcLibToolsHcOpts, DLLized, StripLibraries # Haskell compiler options for tools in hslibs GhcLibToolsHcOpts=-O # Build the Haskell Readline bindings? # -GhcLibsWithReadline=NO -# +GhcLibsWithReadline=@HaveReadlineHeaders@ + +# Libraries needed for linking with readline +LibsReadline=@LibsReadline@ + # Include path to readline.h # (no path == in standard include path) # ReadlineIncludePath= -HaveLibReadline=@HaveLibReadline@ + +# Build the Haskell OpenGL/GLUT binding? +# +GhcLibsWithHOpenGL=@GhcLibsWithHOpenGL@ ################################################################################ # @@ -357,7 +365,12 @@ NoFibHcOpts = -O # this in build.mk or set your environment variable "TMPDIR" to point # to somewhere with more space. (TMPDIR=. is a good choice). -TMPDIR = /tmp +# DEFAULT_TMPDIR isn't called TMPDIR because GNU make tends to +# override an environment variable with the value of the make variable +# of the same name (if it exists) when executing sub-processes, so +# setting the TMPDIR env var would have no effect in the build tree. + +DEFAULT_TMPDIR = /tmp # FPTOOLS_TOP: the top of the fptools hierarchy, absolute path. @@ -368,19 +381,20 @@ FPTOOLS_TOP_ABS = @hardtop@ # but since the configure script has them on offer while # passing through, we might as well set them. -prefix = @prefix@ -exec_prefix = @exec_prefix@ -bindir = @bindir@ -#UNUSED, see below: libexecdir = @libexecdir@ -datadir = @datadir@ -#sysconfdir = @datadir@ -#sharedstatedir = @sharedstatedir@ -#localstatedir = @localstatedir@ -libdir = @libdir@ -infodir = @infodir@ -includedir = @includedir@ -oldincludedir = @oldincludedir@ +prefix = @prefix@ +exec_prefix = @exec_prefix@ +bindir = @bindir@ +datadir = @datadir@ +#sysconfdir = @datadir@ +#sharedstatedir = @sharedstatedir@ +#localstatedir = @localstatedir@ +libdir = @libdir@ +includedir = @includedir@ +oldincludedir = @oldincludedir@ mandir = @mandir@ + +#UNUSED, see below: libexecdir = @libexecdir@ +#UNUSED:infodir = @infodir@ #UNUSED:srcdir = @srcdir@ # @@ -410,9 +424,6 @@ endif ifeq "$(strip $(libdir))" "" libdir = $(exec_prefix)/lib endif -ifeq "$(strip $(infodir))" "" -infodir = $(prefix)/info -endif ifeq "$(strip $(includedir))" "" includedir = $(prefix)/include endif @@ -422,7 +433,7 @@ endif ifeq "$(strip $(mandir))" "" mandir = $(prefix)/man endif - + ################################################################################ # @@ -478,22 +489,16 @@ ETAGS_PREFIX = $(GLAFP_UTILS)/etags/ MSUB_PREFIX = $(GLAFP_UTILS)/msub/ LNDIR_PREFIX = $(GLAFP_UTILS)/lndir/ MKDIRHIER_PREFIX = $(GLAFP_UTILS)/mkdirhier/ - -# Still used? -LITERATE = $(FPTOOLS_TOP)/literate +DOCBOOK_PREFIX = $(GLAFP_UTILS)/docbook/ LITERATE_PREFIX = $(FPTOOLS_TOP)/literate/ -INFO_PREFIX = $(FPTOOLS_TOP)/literate/info-utils/ -TEXI2HTML_PREFIX = $(LITERATE_PREFIX)texi2html/ HAPPY_PREFIX = $(FPTOOLS_TOP)/happy/src/ GREENCARD_PREFIX = $(FPTOOLS_TOP)/green-card/src/ UNLIT_PREFIX = $(FPTOOLS_TOP)/ghc/utils/unlit/ -UGEN_PREFIX = $(FPTOOLS_TOP)/ghc/utils/ugen/ STAT2RESID_PREFIX = $(FPTOOLS_TOP)/ghc/utils/stat2resid/ HP2PS_PREFIX = $(FPTOOLS_TOP)/ghc/utils/hp2ps/ -HSCPP_PREFIX = $(FPTOOLS_TOP)/ghc/utils/hscpp/ HSTAGS_PREFIX = $(FPTOOLS_TOP)/ghc/utils/hstags/ @@ -505,8 +510,16 @@ HSTAGS_PREFIX = $(FPTOOLS_TOP)/ghc/utils/hstags/ # # $(HC) is a generic Haskell 98 compiler, set to $(GHC) by default. # $(MKDEPENDHS) is the Haskell dependency generator (ghc -M). +# +# NOTE: Don't override $(GHC) in build.mk, use configure --with-ghc instead +# (because the version numbers have to be calculated). + +GHC = @WithGhc@ +GhcVersion = @GhcVersion@ +GhcMajVersion = @GhcMajVersion@ +GhcMinVersion = @GhcMinVersion@ +GhcPatchLevel = @GhcPatchLevel@ -GHC = @GHC@ HBC = @HBC@ NHC = @NHC@ @@ -517,7 +530,7 @@ MKDEPENDHS = $(HC) # projects (eg. it's handy to have a nofib & a ghc build in the same # tree). We can refer to "this ghc" as $(GHC_INPLACE): -GHC_INPLACE = $(FPTOOLS_TOP)/ghc/driver/ghc-inplace +GHC_INPLACE = $(FPTOOLS_TOP)/ghc/compiler/ghc-inplace #----------------------------------------------------------------------------- # C compiler @@ -541,6 +554,18 @@ HaveLibGmp = @HaveLibGmp@ LibGmp = @LibGmp@ #----------------------------------------------------------------------------- +# Regex library +# (if present in libc use that one, otherwise use the one in the tree) +# +HaveRegex = @HaveRegex@ + +#----------------------------------------------------------------------------- +# GTK+ + +GTK_CONFIG = @GTK_CONFIG@ +GTK_VERSION = @GTK_VERSION@ + +#----------------------------------------------------------------------------- # Flex FLEX = @LEX@ @@ -601,7 +626,7 @@ SHELL = /bin/sh # We do not use SHELL to execute long commands, as `make' will more than likely # override whatever setting you have in your environment while executing. -# By default, REAL_SHELL is set equal SHELL, which is not really a smart move +# By default, REAL_SHELL is set equal to SHELL, which is not really a smart move # as it is SHELL that will show up the bogosity in the first place, but setting # it to anything else isn't really portable. # @@ -616,9 +641,9 @@ TAR = @TarCmd@ ZIP = zip # -# Under cygwin32, we have to deal with .exe suffixes +# Under Windows, we have to deal with .exe suffixes # -EXE_SUFFIX=@ExeSuffix@ +EXE_SUFFIX=@exeext@ # # This is special to literate/, ToDo: add literate-specific @@ -636,20 +661,25 @@ UNAME = uname YACC = @YaccCmd@ #----------------------------------------------------------------------------- -# SGML stuff (currently not configured - we assume you have it) +# SGML stuff + +JADE = @JadeCmd@ -SGML2DVI = db2dvi -SGML2HTML = db2html -SGML2INFO = db2info -SGML2RTF = db2rtf +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_SGML2INFO_OPTS = -d $(SGMLSTYLESHEET) +SRC_SGML2PS_OPTS = -d $(SGMLSTYLESHEET) SRC_SGML2RTF_OPTS = -d $(SGMLSTYLESHEET) +DOCBOOK_CATALOG = @Catalog@ + #----------------------------------------------------------------------------- # FPtools support software @@ -663,35 +693,37 @@ ETAGS = $(ETAGS_PREFIX)etags VERBATIM = $(VERBATIM_PREFIX)verbatim SGMLVERB = $(SGMLVERB_PREFIX)sgmlverb RUNTEST = $(RUNTEST_PREFIX)runstdtest -HAPPY = @HappyCmd@ -HAPPY_VERSION = @HappyVersion@ LX = @LxCmd@ GREENCARD = $(FPTOOLS_TOP)/green-card/src/green-card BLD_DLL = dllwrap # +# Happy +# +HAPPY = @HappyCmd@ +HAPPY_VERSION = @HappyVersion@ +# +# Options to pass to Happy when we're going to compile the output with GHC +# +GHC_HAPPY_OPTS = $(shell if expr $(HAPPY_VERSION) \< "1.8" >/dev/null; then echo -g; else echo -agc; fi) + +# # Stuff from fptools/literate # -INFO = $(UTIL_PREFIX)info -MAKEINFO = $(INFO_PREFIX)makeinfo -POSTMAKEINFO = $(INFO_PREFIX)postmakeinfo LIT2PGM = $(LITERATE_PREFIX)lit2pgm -LIT2TEXI = $(LITERATE_PREFIX)lit2texi LIT2HTML = $(LITERATE_PREFIX)lit2html LIT2LATEX = $(LITERATE_PREFIX)lit2latex MKDEPENDLIT = $(LITERATE_PREFIX)mkdependlit LIT2CHANGELOG = $(LITERATE_PREFIX)lit2changelog LIT2TEXT = $(LITERATE_PREFIX)lit2text -TEXI2HTML = $(TEXI2HTML_PREFIX)texi2html # # Stuff from fptools/ghc/utils # -UNLIT = $(UNLIT_PREFIX)unlit -UGEN = $(UGEN_PREFIX)ugen +UNLIT = $(UNLIT_PREFIX)unlit$(EXE_SUFFIX) STAT2RESID = $(STAT2RESID_PREFIX)stat2resid -HP2PS = $(HP2PS_PREFIX)hp2ps +HP2PS = $(HP2PS_PREFIX)hp2ps$(EXE_SUFFIX) HSCPP = $(HSCPP_PREFIX)hscpp HSTAGS = $(HSTAGS_PREFIX)hstags @@ -766,10 +798,6 @@ WAY_mp_HC_OPTS=-parallel WAY_mg_NAME=GranSim WAY_mg_HC_OPTS=-gransim -# Way `dll': -WAY_dll_NAME=Win32 DLLs -WAY_dll_HC_OPTS= - # # Add user-way configurations here: #