X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=mk%2Fconfig.mk.in;h=43903735e3010afd03efadd9ad8ca444661eced9;hb=730e2dd8168e27c0aa98a9556df2802b8e92aa7c;hp=2ebedc439b77d6bbfbd13c3afa7f02c40d7b2654;hpb=ba714d9f37750d4f0aeec576ec7168826bc5f614;p=ghc-hetmet.git diff --git a/mk/config.mk.in b/mk/config.mk.in index 2ebedc4..4390373 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) @@ -168,21 +159,29 @@ GhcCompilerWays= # # -dcore-lint check the types after every pass of the compiler; # a pretty strong internal check -GhcHcOpts= +GhcHcOpts=-O -Rghc-timing # 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. Default to NO for the time being. + +# ifneq "$(findstring $(HostOS_CPP), linux solaris freebsd netbsd openbsd)" "" +# GhcWithInterpreter=YES +# else +GhcWithInterpreter=NO +# endif # # Building various ways? @@ -209,21 +208,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 +GhcLibHcOpts=-O -Rghc-timing + +# Win32 only: Enable the RTS and libraries to be built as DLLs +# Don't split object files for libs if we're building DLLs +DLLized=@EnableWin32DLLs@ +ifeq "$(DLLized)" "YES" +SplitObjs=NO else -GhcLibHcOpts=-O -split-objs -odir $* +SplitObjs=YES endif -# Win32 only: Enable the RTS and libraries to be built as DLLs -# -EnableWin32DLLs=@EnableWin32DLLs@ # Strip local symbols from libraries? This can make the libraries smaller, # but makes debugging somewhat more difficult. Doesn't work with all ld's. @@ -245,6 +247,9 @@ StripLibraries=NO GhcRtsHcOpts=-O2 GhcRtsCcOpts=-O2 -optc-fomit-frame-pointer +# Include the front panel code? Needs GTK+. +GhcRtsWithFrontPanel = NO + ################################################################################ # # hslibs project @@ -260,17 +265,26 @@ 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, 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@ ################################################################################ # @@ -352,7 +366,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. @@ -363,19 +382,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@ # @@ -405,9 +425,6 @@ endif ifeq "$(strip $(libdir))" "" libdir = $(exec_prefix)/lib endif -ifeq "$(strip $(infodir))" "" -infodir = $(prefix)/info -endif ifeq "$(strip $(includedir))" "" includedir = $(prefix)/include endif @@ -417,7 +434,7 @@ endif ifeq "$(strip $(mandir))" "" mandir = $(prefix)/man endif - + ################################################################################ # @@ -473,24 +490,17 @@ 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/ - +HSC2HS_PREFIX = $(FPTOOLS_TOP)/ghc/utils/hsc2hs/ #----------------------------------------------------------------------------- # Haskell compilers and mkdependHS @@ -500,19 +510,27 @@ 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@ HC = @WithHc@ -MKDEPENDHS = $(HC) +MKDEPENDHS = $(GHC) # 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 # 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 @@ -536,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@ @@ -560,6 +590,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 @@ -568,6 +599,8 @@ INSTALL = @INSTALL@ # INSTALL := $(subst .././install-sh,$(FPTOOLS_TOP_ABS)/install-sh,$(INSTALL)) LATEX = latex +HEVEA = hevea +HACHA = hacha LN_S = @LN_S@ MANMACROS = -man MSMACROS = -ms @@ -595,7 +628,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. # @@ -610,9 +643,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 @@ -630,19 +663,24 @@ 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 -SGML2DVI_OPTS = -d $(SGMLSTYLESHEET) -SGML2HTML_OPTS = -d $(SGMLSTYLESHEET) -SGML2INFO_OPTS = -d $(SGMLSTYLESHEET) -SGML2RTF_OPTS = -d $(SGMLSTYLESHEET) +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 @@ -657,37 +695,38 @@ 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 -STAT2RESID = $(STAT2RESID_PREFIX)stat2resid -HP2PS = $(HP2PS_PREFIX)hp2ps -HSCPP = $(HSCPP_PREFIX)hscpp +UNLIT = $(UNLIT_PREFIX)unlit$(EXE_SUFFIX) +HP2PS = $(HP2PS_PREFIX)hp2ps$(EXE_SUFFIX) HSTAGS = $(HSTAGS_PREFIX)hstags +HSC2HS = $(HSC2HS_PREFIX)hsc2hs-inplace # # Options for the compiling different `ways'. Various projects within @@ -760,10 +799,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: #