cvs commit: hugs98/src MkInstal.in
Alastair Reid
alastair@reid-consulting-uk.ltd.uk
04 Sep 2002 14:29:04 +0100
> I see this doesn't work: convert_libraries uses config.h and
> options.h, which are generated by configure. But that makes the
> source distribution architecture-dependent, and hardwires the
> original setting of USE_DOUBLE_PRECISION, both undesirable.
I'd like to get future versions of Hugs to use float for Float and
double for Double - but that isn't going to affect this release.
> Only the hierarchical libraries are affected, specifically
> Foreign.C.Error Foreign.C.Types Foreign.C.TypesISO Foreign.Storable
> It seems the #include is superfluous in the first one, but what to
> do about the other three?
My gut feeling is that the libraries will acquire more ifdefs as time
goes on so trying to eliminate the ones we have is only a short-term
solution.
This suggests that we should distribute the raw libraries with Hugs
and have the user run convert_libraries (probably invoked through the
Makefile which is probably a better way to run things anyway).
The problem is that this won't work on Windows. If they have a C
compiler, then they have cpp but they don't necessarily have a usable
shell.
If we were starting from scratch, we could consider rewriting
convert_libraries as a Makefile something along the lines of:
CVT_LIBRARIES = <huge list here>
NOCVT_LIBRARIES = <and another long list>
HSLIBS_LIBRARIES = <more still>
libraries_cvt: $(CVT_LIBRARIES)
helper_cvt ...
libraries_nocvt: $(NOCVT_LIBRARIES)
helper_nocvt ...
with the idea that it would be easy enough to provide Win32-compatible
helper functions.
But I don't think we want to get into this now.
So I'm kind of stuck.
--
Alastair