X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=mk%2Fconfig.mk.in;h=0e2896a2fb489493c736b8607699b694ffa748be;hb=5a5747202b4fb5c42bdc1ebcacb9f9b7bf87cdc7;hp=2c3a29240ec0512d248c1e908e90025891f5ad46;hpb=9c569d63f7a21403caf267620154ba787cae32ac;p=ghc-hetmet.git diff --git a/mk/config.mk.in b/mk/config.mk.in index 2c3a292..0e2896a 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 # @@ -147,7 +152,7 @@ IncludeTestDirsInBuild=NO # HC_ROJEMO_NHC # HC_UNSPECIFIED -WithGhcHc = $(HC) +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. @@ -168,7 +173,7 @@ GhcCompilerWays= # # -dcore-lint check the types after every pass of the compiler; # a pretty strong internal check -GhcHcOpts= +GhcHcOpts=-O # GhcWithHscBuiltViaC - build GHC compiler proper (\`hsc') from .hc files? GhcWithHscBuiltViaC=@BootingFromHc@ @@ -209,21 +214,24 @@ 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 # # -O is pretty desirable, otherwise no inlining of prelude # things (incl "+") happens when compiling with this compiler -ifeq "$(GhcWithHscBuiltViaC)" "YES" GhcLibHcOpts=-O -else -GhcLibHcOpts=-O -split-objs -odir $* -endif # 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" +SplitObjs=NO +else +SplitObjs=YES +endif + # Strip local symbols from libraries? This can make the libraries smaller, # but makes debugging somewhat more difficult. Doesn't work with all ld's. @@ -260,17 +268,22 @@ GhcRtsCcOpts=-O2 -optc-fomit-frame-pointer HsLibsFor = ghc # hslibs for GHC also uses the following variables (defined above): -# GhcLibWays, GhcLibHcOpts, EnableWin32DLLs, StripLibraries +# GhcLibWays, GhcLibHcOpts, GhcLibToolsHcOpts, EnableWin32DLLs, 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@ ################################################################################ # @@ -281,7 +294,7 @@ HaveLibReadline=@HaveLibReadline@ ################################################################################ # The compiler you'd like to use to compile Happy -WithHappyHc = $(HC) +WithHappyHc = @WithHc@ # HappyHcOpts gives the flags to pass to the Haskell compiler used # to compile the Happy sources with. @@ -347,7 +360,17 @@ NoFibHcOpts = -O # ################################################################################ -TMPDIR = /tmp +# Directory used by GHC (and possibly other tools) for storing +# temporary files. If your /tmp isn't big enough, either override +# this in build.mk or set your environment variable "TMPDIR" to point +# to somewhere with more space. (TMPDIR=. is a good choice). + +# DEFAULT_TMPDIR isn't called TMPDIR because GNU make tends to +# override the environment variable with the value of the make +# variable 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. @@ -358,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@ # @@ -400,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 @@ -468,24 +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/ -RTS_PREFIX = $(FPTOOLS_TOP)/common-rts/ - 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/ @@ -499,11 +512,16 @@ HSTAGS_PREFIX = $(FPTOOLS_TOP)/ghc/utils/hstags/ # $(MKDEPENDHS) is the Haskell dependency generator (ghc -M). GHC = @GHC@ +GhcVersion = @GhcVersion@ +GhcMajVersion = @GhcMajVersion@ +GhcMinVersion = @GhcMinVersion@ +GhcPatchLevel = @GhcPatchLevel@ + HBC = @HBC@ NHC = @NHC@ -HC = @WithHc@ -MKDEPENDHS = $(GHC) +HC = @WithHc@ +MKDEPENDHS = $(HC) # Sometimes we want to invoke ghc from the build tree in different # projects (eg. it's handy to have a nofib & a ghc build in the same @@ -533,6 +551,12 @@ HaveLibGmp = @HaveLibGmp@ LibGmp = @LibGmp@ #----------------------------------------------------------------------------- +# Regex library +# (if present in libc use that one, otherwise use the one in the tree) +# +HaveRegex = @HaveRegex@ + +#----------------------------------------------------------------------------- # Flex FLEX = @LEX@ @@ -557,6 +581,7 @@ CP = cp CPP = @CPP@ CTAGS = $(ETAGS) RAWCPP = $(CPP) -undef -traditional +FIND = @FindCmd@ INSTALL = @INSTALL@ # # Sigh - the autoconf macro for INSTALL will subst a relative path to the fallback @@ -592,7 +617,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. # @@ -607,9 +632,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 @@ -627,12 +652,24 @@ UNAME = uname YACC = @YaccCmd@ #----------------------------------------------------------------------------- -# SGML stuff (currently not configured - we assume you have it) +# 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 -SGML2LATEX = sgml2latex -SGML2HTML = sgml2html -SGML2INFO = sgml2info -SGML2TXT = sgml2txt +SRC_SGML2DVI_OPTS = -d $(SGMLSTYLESHEET) +SRC_SGML2HTML_OPTS = -d $(SGMLSTYLESHEET) +SRC_SGML2PS_OPTS = -d $(SGMLSTYLESHEET) +SRC_SGML2RTF_OPTS = -d $(SGMLSTYLESHEET) + +DOCBOOK_CATALOG = @Catalog@ #----------------------------------------------------------------------------- # FPtools support software @@ -646,37 +683,38 @@ MSUB = $(MSUB_PREFIX)msub ETAGS = $(ETAGS_PREFIX)etags VERBATIM = $(VERBATIM_PREFIX)verbatim SGMLVERB = $(SGMLVERB_PREFIX)sgmlverb -SGML2LATEX = sgml2latex 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 @@ -717,6 +755,7 @@ HSTAGS = $(HSTAGS_PREFIX)hstags # The ways currently defined. # ALL_WAYS=p t u s mp mg a b c d e f g h i j k l m n o A B +USER_WAYS=a b c d e f g h i j k l m n o A B # # The following ways currently have treated specially, p u t mg, @@ -752,7 +791,7 @@ WAY_mg_HC_OPTS=-gransim # Way `dll': WAY_dll_NAME=Win32 DLLs -WAY_dll_HC_OPTS= +WAY_dll_HC_OPTS=-dll # # Add user-way configurations here: