readline on macs

Judah Jacobson judah.jacobson at gmail.com
Mon Jan 7 19:08:51 EST 2008


On Jan 7, 2008 11:46 AM, Ian Lynagh <igloo at earth.li> wrote:
>
> On Mon, Jan 07, 2008 at 09:19:25AM -0800, Judah Jacobson wrote:
> > On Jan 7, 2008 6:55 AM, Christian Maeder <Christian.Maeder at dfki.de> wrote:
> > > Judah Jacobson wrote:
> > > > On Jan 5, 2008 10:29 AM, Thorkil Naur <naur at post11.tele.dk> wrote:
> > > >>> The alternative is to use static linking of gmp (as suggested by chak)
> > > >>> _and_ readline (version 5), so that user programs are also statically
> > > >>> linked with these libs.
> > >
> > > I just have succeeded in linking ghc-6.8.2 statically with libreadline.a
> > > and libncurses.a in the compiler directory by setting:
> >
> > Readline is distributed under the GPL, not the LGPL (which gmp is).
> > Does the above cause a licensing problem? (I don't have much
> > experience in that area; hopefully someone can explain this issues
> > involved.)
>
> Perhaps the best answer is for someone to make editline bindings for
> Haskell?
>
> I believe this would solve the problem twice: OS X comes with editline,
> and it's BSD licensed so we can happily statically link against it. The
> latter may help us on Windows too.
>
> Everything I know about editline is third-hand, but AIUI the APIs are
> very similar, so it shouldn't be hard to alter GHC to use editline
> instead.

Editline provides readline/[readline.h,history.h] which provide a
subset of the readline API and (I've checked) contain all of the
functions that ghci uses.

One possiblility is to add a configure --with-libedit flag to the
readline package which would permit linking against libedit and #ifdef
out all functions that it doesn't support.  Note that the package
already #defines HAVE_READLINE_4 and HAVE_READLINE_5 to permit
compiling against multiple versions of readline, so adding
HAVE_GNU_READLINE or HAVE_LIBEDIT wouldn't be much worse, IMHO.

Best,
-Judah


More information about the Glasgow-haskell-users mailing list