Re: compiling hugs

Anthony Clayden <[email protected]> Wed, 29 Apr 2020 18:21:42 +1200
Newsgroups gmane.comp.lang.haskell.hugs.user
Message-ID <CAM7nRYRLSmK1pdQv3-Yf9eAUsP+dJGanG+QPBqXa+WUnLonP0A@mail.gmail.com>
--===============7194309464465846423==
Content-Type: multipart/alternative; boundary="000000000000d774d105a467f6cb"

--000000000000d774d105a467f6cb
Content-Type: text/plain; charset="UTF-8"

The news is improving, I have a working system (on Windows, including
WinHugs).

Not all of the libraries compiled, and some are bitrotted beyond repair.

But I think there's enough for your objective of using Hugs to bootstrap
GHC.

In particular, you'll need to get working a couple of preprocessors:

* hsc2hs -- HSC format is a hybrid Haskell/C; pre-processed to .hs + .c + .h
* cpphs -- "a simplified re-implementation" of C++ pre-processor, in
Haskell.

They're both used extensively in the `make` building libraries/packages.

Both of those need a bit of polishing-up, see Franklin's repo. (He was also
working on Mac, did you see his homebrew kit?)

For the sake of posterity I'll post some notes here with the travails of
getting Hugs up and running.
Some of the code is very ancient -- pre the C 1999 standard.

AntC

> Hi Sam, I have some good news, but mostly bad news.

>
>* Please do let me know if anybody can figure out how to compile the
*>* missing library!
*

>To answer your last point first, Franklin Chen figured out how to compile
the library
-- it's a two-line fix, that gets three .dlls to compile.
See around line 220 in here:
https://github.com/FranklinChen/hugs98-plus-Sep2006/blob/master/packages/base/include/HsBase.h

;
also see the git change history for that header file.

--000000000000d774d105a467f6cb
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"auto">The news is improving, I have a working system (on Window=
s, including WinHugs).</div><div dir=3D"auto"><br></div><div dir=3D"auto">N=
ot all of the libraries compiled, and some are bitrotted beyond repair.</di=
v><div dir=3D"auto"><br></div><div dir=3D"auto">But I think there&#39;s eno=
ugh for your objective of using Hugs to bootstrap GHC.</div><div dir=3D"aut=
o"><br></div><div dir=3D"auto">In particular, you&#39;ll need to get workin=
g a couple of preprocessors:</div><div dir=3D"auto"><br></div><div dir=3D"a=
uto">* hsc2hs -- HSC format is a hybrid Haskell/C; pre-processed to .hs + .=
c + .h</div><div dir=3D"auto">* cpphs -- &quot;a simplified re-implementati=
on&quot; of C++ pre-processor, in Haskell.</div><div dir=3D"auto"><br></div=
><div dir=3D"auto">They&#39;re both used extensively in the `make` building=
 libraries/packages.</div><div dir=3D"auto"><br></div><div dir=3D"auto">Bot=
h of those need a bit of polishing-up, see Franklin&#39;s repo. (He was als=
o working on Mac, did you see his homebrew kit?)</div><div dir=3D"auto"><br=
></div><div dir=3D"auto">For the sake of posterity I&#39;ll post some notes=
 here with the travails of getting Hugs up and running.</div><div dir=3D"au=
to">Some of the code is very ancient -- pre the C 1999 standard.</div><div =
dir=3D"auto"><br></div><div dir=3D"auto">AntC</div><div dir=3D"auto"><br></=
div><div dir=3D"auto">&gt;=C2=A0<span style=3D"white-space:pre-wrap;backgro=
und-color:rgb(255,255,255)">Hi Sam, I have some good news, but mostly bad n=
ews.</span></div><pre style=3D"white-space:pre-wrap;background-color:rgb(25=
5,255,255)"><div dir=3D"auto">&gt;</div>&gt;<i> Please do let me know if an=
ybody can figure out how to compile the
</i>&gt;<i> missing library!
</i><div dir=3D"auto">
&gt;To answer your last point first, Franklin Chen figured out how to compi=
le
the library
-- it&#39;s a two-line fix, that gets three .dlls to compile.
See around line 220 in here:=20
</div><a href=3D"https://github.com/FranklinChen/hugs98-plus-Sep2006/blob/m=
aster/packages/base/include/HsBase.h">https://github.com/FranklinChen/hugs9=
8-plus-Sep2006/blob/master/packages/base/include/HsBase.h</a><div dir=3D"au=
to">
;
also see the git change history for that header file.

</div><br></pre>

--000000000000d774d105a467f6cb--

--===============7194309464465846423==
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-Disposition: inline

X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSHVncy1Vc2Vy
cyBtYWlsaW5nIGxpc3QKSHVncy1Vc2Vyc0BoYXNrZWxsLm9yZwpodHRwOi8vbWFpbC5oYXNrZWxs
Lm9yZy9jZ2ktYmluL21haWxtYW4vbGlzdGluZm8vaHVncy11c2Vycwo=

--===============7194309464465846423==--