# 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@
+
# Don't split object files for libs if we're building DLLs, or booting from
# .hc files.
SplitObjs=YES
# For a debugging RTS:
# GhcRtsHcOpts = -optc-DDEBUG
-# GhcRtsCcOpts = -optc-g
+# GhcRtsCcOpts = -g
# For an optimised RTS:
GhcRtsHcOpts=-O2
# hslibs for GHC also uses the following variables (defined above):
# GhcLibWays, GhcLibHcOpts, GhcLibToolsHcOpts, DLLized, StripLibraries
-# Haskell compiler options for tools in hslibs
-GhcLibToolsHcOpts=-O
+# Haskell compiler options for tools in fptools
+FptoolsHcOpts=-O
# Build the Haskell Readline bindings?
#
#
GhcLibsWithHOpenGL=@GhcLibsWithHOpenGL@
+X_CFLAGS=@X_CFLAGS@
+X_LIBS=@X_LIBS@
+
################################################################################
#
# happy project
exec_prefix = @exec_prefix@
bindir = @bindir@
datadir = @datadir@
+
#sysconfdir = @datadir@
#sharedstatedir = @sharedstatedir@
#localstatedir = @localstatedir@
oldincludedir = @oldincludedir@
mandir = @mandir@
-#UNUSED, see below: libexecdir = @libexecdir@
#UNUSED:infodir = @infodir@
#UNUSED:srcdir = @srcdir@
+#
+# override libdir and datadir to put project-specific stuff in
+# a subdirectory with the version number included.
+#
+libdir := $(if $(ProjectNameShort),$(libdir)/$(ProjectNameShort)-$(ProjectVersion),$(libdir))
+datadir := $(if $(ProjectNameShort),$(datadir)/$(ProjectNameShort)-$(ProjectVersion),$(datadir))
+
#
# Default values for most of the above are only set if
# they weren't configured to anything in particular
#-----------------------------------------------------------------------------
# C compiler
#
-#
+# NB. Don't override $(WhatGccIsCalled) using build.mk, re-configure using
+# the flag --with-gcc=<blah> instead. The reason is that the configure script
+# needs to know which gcc you're using in order to perform its tests.
+
HaveGcc = @HaveGcc@
UseGcc = YES
WhatGccIsCalled = @WhatGccIsCalled@
endif
# default C compiler flags
-SRC_CC_OPTS = -O
-ifeq "$(TARGETPLATFORM)" "i386-unknown-mingw32"
-SRC_CC_OPTS += -mno-cygwin -mwin32
-endif
+SRC_CC_OPTS = @SRC_CC_OPTS@
#-----------------------------------------------------------------------------
# GMP Library (version 2.0.x or above)
CP = cp
CPP = @CPP@
CTAGS = $(ETAGS)
-RAWCPP = $(CPP) -undef -traditional
+#
+# RAWCPP_FLAGS are the flags to give to cpp (viz, gcc -E) to persuade it to
+# behave plausibly on Haskell sources.
+#
+RAWCPP_FLAGS = -undef -traditional
FIND = @FindCmd@
INSTALL = @INSTALL@
#