X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=mk%2Fpackage.mk;h=16325dce823e4cf64fd0a6b9323f07e09c5494e2;hb=aacbb9918d5458df0a64231bb55976679e471b91;hp=00e3ea20e79d58138a9701f725e96cec643e4a8f;hpb=094f9feafaf83190891736ddd8d1d7213f4293c4;p=ghc-hetmet.git diff --git a/mk/package.mk b/mk/package.mk index 00e3ea2..16325dc 100644 --- a/mk/package.mk +++ b/mk/package.mk @@ -138,8 +138,12 @@ SRC_HC_OPTS += -fgenerics endif ifndef LIBRARY +ifeq "$(_way:%_dyn=YES)" "YES" +LIBRARY = libHS$(PACKAGE)$(_way:%_dyn=%)-ghc$(ProjectVersion)$(soext) +else LIBRARY = libHS$(PACKAGE)$(_way).a endif +endif ifeq "$(WAYS)" "" WAYS = $(GhcLibWays) @@ -246,76 +250,13 @@ $(GHCI_LIBRARY) : $(LIBOBJS) endif # DONT_WANT_STD_GHCI_LIB_RULE endif # GhcWithInterpreter endif # way - -ifeq "$(GhcBuildDylibs)" "YES" - - # Build dynamic libraries. - # Currently, this is a hack. Anyone, PLEASE clean it up. - - # For now, we pretend that there are two operating systems in the world; - # Darwin, and Everything Else. Furthermore, we pretend that Everything Else - # behaves like Linux. - -ifeq "$(darwin_TARGET_OS)" "1" - # Darwin: Shared libraries end in .dylib -DYLD_LIBRARY = $(patsubst %.a,%_dyn.dylib,$(LIBRARY)) - - # About the options used for Darwin: - # -dynamiclib - # Apple's way of saying -shared - # -undefined dynamic_lookup: - # Without these options, we'd have to specify the correct dependencies - # for each of the dylibs. Note that we could (and should) do without this - # for all libraries except the RTS; all we need to do is to pass the - # correct HSfoo_dyn.dylib files to the link command. - # This feature requires Mac OS X 10.3 or later; there is a similar feature, - # -flat_namespace -undefined suppress, which works on earlier versions, - # but it has other disadvantages. - # -single_module - # Build the dynamic library as a single "module", i.e. no dynamic binding - # nonsense when referring to symbols from within the library. The NCG - # assumes that this option is specified (on i386, at least). - # -Wl,-macosx_version_min -Wl,10.3 - # Tell the linker its safe to assume that the library will run on 10.3 or - # later, so that it will not complain about the use of the option - # -undefined dynamic_lookup above. - # -install_name - # Causes the dynamic linker to ignore the DYLD_LIBRARY_PATH when loading - # this lib and instead look for it at its absolute path. - # When installing the .dylibs (see target.mk), we'll change that path to - # point to the place they are installed. Therefore, we won't have to set - # up DYLD_LIBRARY_PATH specifically for ghc. - -$(DYLD_LIBRARY) : $(LIBOBJS) $(STUBOBJS) - $(CC) -dynamiclib -o $@ $(STUBOBJS) $(LIBOBJS) \ - -undefined dynamic_lookup -single_module \ - -Wl,-macosx_version_min -Wl,10.3 \ - -install_name `pwd`/$@ - -else -DYLD_LIBRARY = $(patsubst %.a,%_dyn.so,$(LIBRARY)) - -$(DYLD_LIBRARY) : $(LIBOBJS) $(STUBOBJS) - $(CC) -shared -o $@ $(STUBOBJS) $(LIBOBJS) -endif - -ifneq "$(NO_INSTALL_LIBRARY)" "YES" -INSTALL_LIBS += $(DYLD_LIBRARY) -endif - -CLEAN_FILES += $(DYLD_LIBRARY) - -all :: $(DYLD_LIBRARY) - -endif # $(GhcBuildDylibs) == "YES" - endif # $(LIBRARY) /= "" # ----------------------------------------------------------------------------- # Doc building with Haddock ifneq "$(PACKAGE)" "" -ifneq "$(NO_HADDOCK_DOCS)" "YES" +ifeq "$(HADDOCK_DOCS)" "YES" HS_PPS = $(addsuffix .raw-hs, $(basename $(filter-out $(EXCLUDED_HADDOCK_SRCS), $(HS_SRCS)))) $(EXTRA_HADDOCK_SRCS) @@ -373,7 +314,7 @@ install-docs :: $(HTML_DOC) $(INSTALL_DATA) $(INSTALL_OPTS) $(PACKAGE).haddock $(HTML_INSTALL_DIR); \ endif # HS_PPS -endif # NO_HADDOCK_DOCS +endif # HADDOCK_DOCS endif # $(PACKAGE) /= "" # -----------------------------------------------------------------------------