Library Infrastructure, HaXml and Windows

Malcolm Wallace Malcolm.Wallace at
Tue Jan 20 10:52:04 EST 2004

Graham Klyne <GK at> writes:

> An alternative possibility might be to use GHC --make, but I'm not 
> sufficiently familiar with the GHC package framework or the HaXml build 
> structure to know if this is possible.  The HaXml release notes suggest it 
> is, but I don't see how to do it.

You can avoid using 'configure' and 'make' by just following the
recipe in the Makefile by hand.  Realising that as a Windows person
you are probably inexperienced in reading a Makefile, here is the
quick version.

    cd src
    ghc --make -cpp -i. -package-name HaXml  $(SRCS)
	[ Replace $(SRCS) with the cut-and-pasted list of files from the Makefile ]
    ar r libHSHaXml.a $(OBJS)
	[ $(OBJS) is the source-file list replacing .hs by .o ]
    ld -r --whole-archive -o HSHaXml.o libHSHaXml.a
	[ only if you need to play with it in GHCi ]
    cp libHSHaXml.a HSHaXml.o $(GHC_LIB_DIR)
	[ install the library archive(s) where GHC can find them ]
    { tar cf interfaces.tar `find Text -name *.hi -print`
      cp interfaces.tar $(GHC_LIB_DIR)/imports
      cd $(GHC_LIB_DIR)/imports
      tar xf interfaces.tar
      rm interfaces.tar
	[ install the interface files where GHC can find them ]
    ghc-pkg --add-package <pkg.conf
	[ and finally register the package with GHC ]

Obviously I have used some Unix-isms here, but you will know the
Windows equivalents better than I can guess them.

Also, these instructions are just for the library package itself,
not for any of the stand-alone tools that come with HaXml.  Shout
if you need to build those too.


More information about the Libraries mailing list