X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Flib%2Fexts%2FMakefile;h=d662b0763ff67f0ce876919c2a20d46d74d9a0b3;hb=cdbc0add0b57037795c46ef50f7a22c260a41fdc;hp=3c07a16f62591ad4f87866275ec88bfd104c5b03;hpb=7a33d598be824e64bae614d20aed1c8e93793d1a;p=ghc-hetmet.git diff --git a/ghc/lib/exts/Makefile b/ghc/lib/exts/Makefile index 3c07a16..d662b07 100644 --- a/ghc/lib/exts/Makefile +++ b/ghc/lib/exts/Makefile @@ -27,6 +27,10 @@ HS_IFACES= $(HS_SRCS:.lhs=.$(way_)hi) SRC_HC_OPTS += -recomp -cpp -fglasgow-exts -fvia-C -Rghc-timing $(GhcLibHcOpts) +ifneq "$(way)" "dll" +SRC_HC_OPTS += -static +endif + # # Profiling options WAY_p_HC_OPTS += -GPrelude @@ -39,8 +43,8 @@ ifneq "$(way)" "" SRC_HC_OPTS += -hisuf $(way_)hi endif -Int_HC_OPTS += -H8m -fno-prune-tydecls -Word_HC_OPTS += -H8m -fno-prune-tydecls +Int_HC_OPTS += -H20m -fno-prune-tydecls -monly-3-regs +Word_HC_OPTS += -H20m -monly-3-regs Foreign_HC_OPTS += -fno-prune-tydecls NativeInfo_HC_OPTS += -fno-prune-tydecls Dynamic_HC_OPTS += $(MAGIC_HSCPP_OPTS) @@ -53,6 +57,14 @@ MAGIC_HSCPP_OPTS=-DBEGIN_FOR_GHC='-}' -DEND_FOR_GHC='{-' -DBEGIN_FOR_HUGS='{-' - SRC_MKDEPENDHS_OPTS += -I$(GHC_INCLUDE_DIR) -optdep--include-prelude -optdep-w $(MAGIC_HSCPP_OPTS) #----------------------------------------------------------------------------- +# Win32 DLL setup + +DLL_NAME = HSexts.dll +DLL_IMPLIB_NAME = libHSexts_imp.a +SRC_BLD_DLL_OPTS += --export-all --output-def=HSexts.def +SRC_BLD_DLL_OPTS += -lwinmm -lHSrts_imp -lHScbits_imp -lHS_imp -lgmp -L. -L../../rts/gmp -L../../rts -L../std -L../std/cbits + +#----------------------------------------------------------------------------- # Installation; need to install .hi files as well as libraries # # The interface files are put inside the $(libdir), since they @@ -69,4 +81,10 @@ override datadir:=$(libdir)/imports/exts INSTALL_LIBS += $(LIBRARY) INSTALL_DATAS += $(HS_IFACES) +ifeq "$(EnableWin32DLLs)" "YES" +INSTALL_PROGS += $(DLL_NAME) +INSTALL_LIBS += $(patsubst %.a, %_imp.a, $(LIBRARY)) +INSTALL_DATAS += dLL_ifs.hi +endif + include $(TOP)/mk/target.mk