
claus.reinke:
Don,
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, though:
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.
Ah. Good point. Well, it is portable to everything except windows, right ;)
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
Hmm. Strange. I don't have any ideas about this at the moment.
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.
Certainly. I'll look into this. Thanks for pointing it out! -- Don
-----------(windows98,cygwin,ghc-6.2.1)
cd src && make make[1]: Entering directory `/cygdrive/c/ghc/libraries/hs-plugins-0.9.6/src' make[2]: Entering directory `/cygdrive/c/ghc/libraries/hs-plugins-0.9.6/src/alt ata' =========== 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 ) Linking ... rm -f libHSaltdata.a ar cq libHSaltdata.a AltData.o AltData/*.o ranlib libHSaltdata.a 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 lace.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 < \ src/altdata/altdata.conf.inplace.in) Reading package info from stdin... done. Expanding embedded variables... done. dependency `base' doesn't exist
make[2]: *** [inplace-pkg-conf] Error 1 make[2]: Leaving directory `/cygdrive/c/ghc/libraries/hs-plugins-0.9.6/src/altd ta' make[1]: *** [altdata] Error 2 make[1]: Leaving directory `/cygdrive/c/ghc/libraries/hs-plugins-0.9.6/src' make: *** [build] Error 2