Help Creating Libraries

Dominic Steinitz dominic.steinitz@blueyonder.co.uk
Tue, 15 Apr 2003 21:04:01 +0100


Simon,

Bother! I remember reading it and when I tried to build libraries I noticed
that there was no configure.in so I didn't need to do this step. I then
didn't bother to look in ghc :-(

The only thing I could think of adding is don't try this after a day at the
office :-)

Dominic Steinitz
----- Original Message -----
From: "Simon Peyton-Jones" <simonpj@microsoft.com>
To: "Dominic Steinitz" <dominic.steinitz@blueyonder.co.uk>; "Simon Marlow"
<simonmar@microsoft.com>
Cc: <libraries@haskell.org>
Sent: Tuesday, April 15, 2003 8:33 AM
Subject: RE: Help Creating Libraries


Actually, the need for a second autoconf is described in Section 7.3 of
the Building Guide:

"Some projects, including GHC, have their own configure script. If
there's an $(FPTOOLS_TOP)/<project>/configure.in, then you need to run
autoconf in that directory too."

Since you missed it, it's obviously not clear enough.  Could you suggest
some revised wording that would make it clearer?

Simon

| -----Original Message-----
| From: Dominic Steinitz [mailto:dominic.steinitz@blueyonder.co.uk]
| Sent: 14 April 2003 20:07
| To: Simon Peyton-Jones; Simon Marlow
| Cc: libraries@haskell.org
|
| Simon,
|
| Thanks.
|
| I checked out as follows:
|
| [dom@tility fptools]$ cvs -d :pserver:anoncvs@glass.cse.ogi.edu:/cvs
| checkout -r
|  ghc-5-04-2 ghc hslibs libraries
|
| But got the following. I'm not sure what it's telling me.
|
| configure: creating ./config.status
| config.status: creating mk/config.mk
| config.status: creating mk/config.h
| config.status: executing default commands
| configure: configuring in ghc
| configure: running /bin/sh
| /configure --prefix=/usr/local  --cache-file=/dev/null --srcdir=.
| ./configure: ./configure: No such file or directory
| configure: error: /bin/sh ./configure failed for ghc
| [dom@tility fptools]$
|
| On the assumption this wasn't serious I then tried
|
|  1004  cd ../glafp-utils/
|  1005  make boot
|  1006  make
|  1007  cd ../ghc
|  1008  make boot
| [dom@tility ghc]$
|
| but got the following:
|
| /usr/bin/ghc -M -optdep-f -optdep.depend  -osuf
| o    -ldl -cpp -DPKG_TOOL -DWANT_PRETTY -package lang -package util
-package
| text -O Main.hs Package.hs ParsePkgConfLite.hs
| make all
| /usr/bin/ghc -o ghc-pkg.bin -ldl -cpp -DPKG_TOOL -DWANT_PRETTY
-package
| lang -package util -package text -O       Main.o Package.o
| ParsePkgConfLite.o
| /usr/bin/ld: cannot find -lreadline
| collect2: ld returned 1 exit status
| make[3]: *** [ghc-pkg.bin] Error 1
| make[2]: *** [boot] Error 2
| make[1]: *** [boot] Error 1
| make: *** [boot] Error 1
| [dom@tility ghc]$
|
|
| Dominic Steinitz
| ----- Original Message -----
| From: "Simon Peyton-Jones" <simonpj@microsoft.com>
| To: "Dominic Steinitz" <dominic.steinitz@blueyonder.co.uk>; "Simon
Marlow"
| <simonmar@microsoft.com>
| Cc: <libraries@haskell.org>
| Sent: Monday, April 14, 2003 9:14 AM
| Subject: RE: Help Creating Libraries
|
|
| Aha. It seems that the libraries tree is not independent of the 'ghc'
| tree; this is because the 'base/GHC/' subtree is absolutely GHC
| specific.
|
| The quickest workaround is to check out ghc/ as well as libraries/,
and
| say 'make boot' in the ghc tree.  Don't forget to do the 'configure'
| stuff.
|
| Also, compiling the libraries tree probably assumes that you want to
use
| the ghc in the same tree.  You may need to add 'HC=ghc' to your 'make'
| calls.
|
| Simon
|
| | -----Original Message-----
| | From: Dominic Steinitz [mailto:dominic.steinitz@blueyonder.co.uk]
| | Sent: 12 April 2003 12:09
| | To: Simon Marlow; Simon Peyton-Jones
| | Cc: libraries-request@haskell.org; glasgow-haskell-users@haskell.org
| |
| | I've tried building the libraries tree but got the following. Can
| anyone
| | help?
| |
| | I'm not sure what name to give the proposed crypto library. Should
it
| be
| | Data.Crypto?
| |
| | [dom@tility libraries]$ make boot
| |
|
------------------------------------------------------------------------
| | ===fptools== Recursively making `boot' in base haskell98 network
| haskell-src
| | ...
| | PWD = /home/dom/fptools/libraries
| |
|
------------------------------------------------------------------------
| |
|
------------------------------------------------------------------------
| | ==fptools== make boot -r;
| |  in /home/dom/fptools/libraries/base
| |
|
------------------------------------------------------------------------
| | make[1]: *** No rule to make target `/prelude/primops.txt', needed
by
| | `GHC/PrimopWrappers.hs'.  Stop.
| | make: *** [boot] Error 1
| | [dom@tility libraries]$
| |
| | Dominic Steinitz
| | ----- Original Message -----
| | From: "Simon Marlow" <simonmar@microsoft.com>
| | To: "Simon Peyton-Jones" <simonpj@microsoft.com>; "Dominic Steinitz"
| | <dominic.steinitz@blueyonder.co.uk>
| | Sent: Friday, April 11, 2003 10:48 AM
| | Subject: RE: Help Creating Libraries
| |
| |
| | Hi Dominic,
| |
| | There are two ways to add libraries: do it directly in a GHC tree
| using
| | our build infrastructure, or try to do it on your own.  We tried to
| get
| | some interest going in developing a separate build infrastructure
for
| | people in your position (see discussions on the GHC lists), but that
| | effort seems to be stalled.
| |
| | Cheers,
| | Simon
| |
| | > -----Original Message-----
| | > From: Simon Peyton-Jones
| | > Sent: 07 April 2003 08:51
| | > To: Dominic Steinitz; Simon Marlow
| | > Cc: Simon Peyton-Jones
| | >
| | > Dominic
| | >
| | > Excellent!  Simon is the library king, but he's away today.
| | > I think it goes like this: you agree with Simon (and
| | > preferably the libraries@haskell.org) libraries list what the
| | > name and signature of your module will be.  We give you CVS
| | > access.  You check out the libraries tree (no need to build
| | > GHC if you don't want to) and add your library.  With Haddock
| | > documentation.  That's it.
| | >
| | > But it ought to be documented -- then more people might do it!
| | >
| | > Simon
| | >
| | > | -----Original Message-----
| | > | From: Dominic Steinitz
[mailto:dominic.steinitz@blueyonder.co.uk]
| | > | Sent: 06 April 2003 17:09
| | > | To: Simon Peyton-Jones; Simon Marlow
| | > |
| | > | Simon & Simon,
| | > |
| | > | I'd quite like to create a crypto library. There are some
| | > modules already
| | > | scattered around the place: md5, sha1, des and rsa. I've
| | > just added cipher
| | > | block chaining mode to the existing des module.
| | > |
| | > | I'd be grateful for any advice on how to set about creating
| | > a library. Do I
| | > | have to check out the ghc source from CVS and build it and
| | > somehow add an
| | > | extra library? Is there a document describing how to do it?
| | > Should I be
| | > | asking this question on the libraries mailing list?
| | > |
| | > | Dominic Steinitz
| | > |
| | >
| | >
| |
|
|
|