summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
9c5f23d)
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.
-----------------------------------------------------------------------------
-----------------------------------------------------------------------------
--- $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
--
--
-- Settings for the driver
--
-- different route (in InteractiveUI.linkPackage).
-- See driver/PackageSrc.hs for the HSstd1/HSstd2 split definition.
-- THIS IS A STRICTLY TEMPORARY HACK (famous last words ...)
-- 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
hACK libs
# ifndef mingw32_TARGET_OS
= libs
# else
= if "HSstd1" `elem` libs && "HSstd2" `elem` libs
then "HSstd" : filter ((/= "HSstd").(take 5)) libs
+ else
+ if "HSwin321" `elem` libs && "HSwin322" `elem` libs
+ then "HSwin32" : filter ((/= "HSwin32").(take 7)) libs
+ else
+ libs
# endif
getPackageExtraGhcOpts :: IO [String]
# endif
getPackageExtraGhcOpts :: IO [String]
library_dirs = if installing
then [ "$libdir" ]
else [ "$libdir/hslibs/win32" ],
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
include_dirs = [],
c_includes = [], -- ???
package_deps = [ "lang" ], -- greencard now built in
+# How come GNU make doesn't support ands and ors? Duh.
ifneq "$(GHCI_LIBRARY)" "HSstd.o"
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
# 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
# We check for GHCI_LIBRARY being HSstd.o rather than
# PACKAGE being std, because we want to still use the boilerplate rule
# for cbits.
# 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)
$(GHCI_LIBRARY) :: $(LIBOBJS)
ld -r -x -o $@ $(LIBOBJS) $(STUBOBJS)
+endif # GHCI_LIBRARY != "HSwin32.o"
+endif # GHCI_LIBRARY != "HSstd.o"
endif # GhcWithInterpreter
endif # way
endif # GhcWithInterpreter
endif # way
+endif # GHCI_LIBRARY != ""
#----------------------------------------
#----------------------------------------