claus.reinke at talk21.com
Mon Aug 16 10:31:04 EDT 2004
thanks for your answers - that looks very promising.
> Only as these are the systems that I've tested on, or that others have.
> I don't have access to a Windows machine. hs-plugins should only be
> limited to platforms with a working GHC dynamic loader, which is all the
> systems I've tested on, plus Windows. Any unixy dependencies should be
> considered bugs, and will be removed as I find them.
ah well, you do depend on a unixy build environment;-) I've got cygwin
myself, but I can't rely on my users having such things. More seriously,
a cursory browse of the sources shows up things like "POpen" and "Posix",
both no-nos, as far as portable ghc code is concerned (no longer supported
in the default ghc for windows, AFAIK). it would be good if ghc-users would
keep that in mind when writing portable Haskell code.
if you really need pipes to subprocesses, there's an apparently portable
implementation in wxhaskell (Graphics.UI.WXCore.Process, no graphics
needed - wxhaskell has lots of non-graphics widgets), or the up-and-coming
System.Process. don't know about the rest of the Posix modules..
i don't have much time for testing right now, and "configure;make" stalls
early on with a rather strange-looking message (see below), so I'll probably
have to leave that till next month. but, as i mentioned, i need something like
this, and if the idea is to provide a higher-level API on top of -package ghc,
that sounds like a good way to go.. provided that the unix-"bugs" don't
stop the show.
cd src && make
make: Entering directory `/cygdrive/c/ghc/libraries/hs-plugins-0.9.6/src'
make: Entering directory `/cygdrive/c/ghc/libraries/hs-plugins-0.9.6/src/alt
=========== building altdata =============
ghc -package-name altdata -O -Wall -fno-warn-missing-signatures $EOPTS --make
no-hs-main -pgmltrue AltData.hs
Chasing modules from: AltData.hs
Compiling AltData.Typeable ( ./AltData/Typeable.hs, ./AltData/Typeable.o )
Compiling AltData.Dynamic ( ./AltData/Dynamic.hs, ./AltData/Dynamic.o )
Compiling AltData ( AltData.hs, AltData.o )
rm -f libHSaltdata.a
ar cq libHSaltdata.a AltData.o AltData/*.o
rm -f HSaltdata.o
cpp -DGHC_VERSION_6_3="0" < altdata.conf.in.cpp | \
sed -e 's/""//g' -e 's/\[ *,/[ /g' -e '/^#/d' > altdata.conf.in
(cd /c/ghc/libraries/hs-plugins-0.9.6 ;\
if [ ! -f plugins.conf.inplace ]; then echo  > plugins.conf.inplace; fi;\
env PREFIX=`pwd` ghc-pkg -g -f plugins.conf.inplace -u < \
Reading package info from stdin... done.
Expanding embedded variables... done.
dependency `base' doesn't exist
make: *** [inplace-pkg-conf] Error 1
make: Leaving directory `/cygdrive/c/ghc/libraries/hs-plugins-0.9.6/src/altd
make: *** [altdata] Error 2
make: Leaving directory `/cygdrive/c/ghc/libraries/hs-plugins-0.9.6/src'
make: *** [build] Error 2
More information about the Glasgow-haskell-users