Hi Simon.
The ghc package has been commited to the netbsd cvs repository
and is now available in pkgsrc as lang/ghc.
ftp://ftp.netbsd.org/pub/NetBSD/packages/pkgsrc/lang/ghc
Simon Marlow <[EMAIL PROTECTED]> writes:
> By the way, did you also modify fptools/configure.in in order to get the
> netbsd-elf target?
Yes, I did, however it's done in a way that is somewhat dependent on pkg magic,
i.e:
--- /p/lang/ghc/old/fptools/configure.in Wed Sep 15 09:03:35 1999
+++ configure.in Wed Dec 15 16:37:23 1999
@@ -138,7 +138,16 @@
HostPlatform_CPP='i386_unknown_netbsd'
HostArch_CPP='i386'
HostVendor_CPP='unknown'
- HostOS_CPP='netbsd'
+ if test "$HASKELL_OBJ_FMT" = "a.out"; then
+ HostOS_CPP='netbsd'
+ else
+ if test "$HASKELL_OBJ_FMT" = "ELF"; then
+ HostOS_CPP='netbsd_elf'
+ else
+ echo bad \$HASKELL_OBJ_FMT = "$HASKELL_OBJ_FMT"
+ exit 1
+ fi
+ fi
;;
i[[3456]]86-*-solaris2*)
HostPlatform=i386-unknown-solaris2 # hack again
Here's the pkg Makefile (with a few targets removed) that defines
HASKELL_OBJ_FMT. the nature of the ghc.lprl hackage is
self-evident. It would be nice to be able to pass the default ghc
compiler link paths in via configure.
Keep well,
Julian.
# $NetBSD$
DISTNAME= ghc-4.04
CATEGORIES= lang
MASTER_SITES= http://www.haskell.org/ghc/dist/4.04/
DISTFILES= ghc-4.04-src.tar.gz ghc-4.04-x86-hc.tar.gz
MAINTAINER= [EMAIL PROTECTED]
HOMEPAGE= http://www.haskell.org/ghc/
DEPENDS+= readline-4.0:../../devel/readline
DEPENDS+= gmp-2.0.2:../../devel/gmp
USE_PERL5= yes
USE_GMAKE= yes
GNU_CONFIGURE= yes
CONFIGURE_ARGS+= --enable-hc-boot --libdir=${PREFIX}/lib/ghc
CONFIGURE_ENV+= HASKELL_OBJ_FMT=`cat ${WRKDIR}/obj_fmt`
WRKSRC= ${WRKDIR}/fptools
pre-configure:
( lnl=${WRKDIR}/longandlow; \
${ECHO} 'int main(){exit(0);}' > $$lnl.c && \
${CC} $$lnl.c -o $$lnl && \
file $$lnl | ( ${EGREP} '[^a-zA-Z][Ee][Ll][Ff][^a-zA-Z]' && \
${ECHO} ELF || ${ECHO} a.out ) \
) > ${WRKDIR}/obj_fmt
${SED} < ${WRKSRC}/ghc/driver/ghc.lprl \
> ${WRKSRC}/ghc/driver/ghc.lprl.hacked \
'/push(@SysLibrary, "-l$LibGmp")/s%^%push(@SysLibrary,
"-L'${LOCALBASE}/lib'");%' && \
${MV} -f ${WRKSRC}/ghc/driver/ghc.lprl.hacked \
${WRKSRC}/ghc/driver/ghc.lprl