Commit 10bc730f authored by sewardj's avatar sewardj
Browse files

[project @ 2001-09-04 16:35:02 by sewardj]

Build system hacks to split HSwin32.o into two parts, so that it
can be loaded into GHCi.  Uses the same gruesome hacks as HSstd.o.
parent 9c5f23d4
-----------------------------------------------------------------------------
-- $Id: DriverState.hs,v 1.55 2001/08/15 09:58:00 sewardj Exp $
-- $Id: DriverState.hs,v 1.56 2001/09/04 16:35:02 sewardj Exp $
--
-- Settings for the driver
--
......@@ -474,13 +474,18 @@ getPackageLibraries = do
-- different route (in InteractiveUI.linkPackage).
-- See driver/PackageSrc.hs for the HSstd1/HSstd2 split definition.
-- THIS IS A STRICTLY TEMPORARY HACK (famous last words ...)
-- JRS 04 Sept 01: Same appalling hack for HSwin32[1,2]
hACK libs
# ifndef mingw32_TARGET_OS
= libs
# else
= if "HSstd1" `elem` libs && "HSstd2" `elem` libs
then "HSstd" : filter ((/= "HSstd").(take 5)) libs
else libs
else
if "HSwin321" `elem` libs && "HSwin322" `elem` libs
then "HSwin32" : filter ((/= "HSwin32").(take 7)) libs
else
libs
# endif
getPackageExtraGhcOpts :: IO [String]
......
......@@ -397,8 +397,9 @@ package_details installing
library_dirs = if installing
then [ "$libdir" ]
else [ "$libdir/hslibs/win32" ],
hs_libraries = [ "HSwin32" ],
extra_libraries = [ "user32", "gdi32", "winmm" ],
hs_libraries = [ "HSwin321", "HSwin322" ],
extra_libraries = [ "user32", "gdi32", "winmm",
"kernel32", "advapi32" ],
include_dirs = [],
c_includes = [], -- ???
package_deps = [ "lang" ], -- greencard now built in
......
......@@ -515,7 +515,9 @@ CLEAN_FILES += $(GHCI_LIBRARY)
all :: $(GHCI_LIBRARY)
# How come GNU make doesn't support ands and ors? Duh.
ifneq "$(GHCI_LIBRARY)" "HSstd.o"
ifneq "$(GHCI_LIBRARY)" "HSwin32.o"
# An annoying gotcha is that the Prelude is a bit special,
# for reasons described in ghc/lib/std/Makefile.
# So we only put in this standard rule for packages other than std
......@@ -523,13 +525,15 @@ ifneq "$(GHCI_LIBRARY)" "HSstd.o"
# We check for GHCI_LIBRARY being HSstd.o rather than
# PACKAGE being std, because we want to still use the boilerplate rule
# for cbits.
# JRS 04 Sept 01: The exact same deal applies to hslibs/HSwin32.o.
$(GHCI_LIBRARY) :: $(LIBOBJS)
ld -r -x -o $@ $(LIBOBJS) $(STUBOBJS)
endif
endif # GHCI_LIBRARY != "HSwin32.o"
endif # GHCI_LIBRARY != "HSstd.o"
endif # GhcWithInterpreter
endif # way
endif # GHCI_LIBRARY
endif # GHCI_LIBRARY != ""
#----------------------------------------
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment