
hi everyone, (this is an fptools/library infrastructure question) i was just trying to compile my monad library from scratch, and the configuration check the makefile does at the beginning (i don't understand how it works) failed complaining that happy 1.14 is needed to compile ghc (and i have 1.13). (incidently happy 1.14 is not released yet) now, i am not trying to compile ghc (just my library), but i am not sure how to fix the makefiles as i don't really understand the fptools build system. do you have any pointers, tips, tricks hints etc? ideally i would like the makefile for the library to be as simple as possible, but i guess it would be nice if it is compatable with the rest of the fptools stuff. for example, i noticed that the makefile makes two libraries (one with profiling), and also uses some flags to split up the object files in little bits. there are also some common "targets". so are these things described somewhere, so that if i was to write my own makefile, i could try and make it "compatable". i wouldn't mind (in fact i would prefer to) reusing the "common" make structure as long as i know exactly what files i need to distribute with the library, and the make process does not do unneccessary things. for example, the monad library is written in haskell, and it only uses standard libraries. so the only requirement it has is a running version of ghc (and perhaps haddoc if the documentation is wanted). there is no need to do the whole "configure" thing, checking the size of integers, and what not :-) so can i achive this with the existsing make system, or should i write my own makefile(s)? -iavor -- ================================================== | Iavor S. Diatchki, Ph.D. student | | Department of Computer Science and Engineering | | School of OGI at OHSU | | http://www.cse.ogi.edu/~diatchki | ==================================================

Iavor S. Diatchki wrote:
[...] i wouldn't mind (in fact i would prefer to) reusing the "common" make structure
I'm not sure if the Library Infrastructure Project is ready for prime time, so I'd suggest to simply re-use the fptools build system. IMHO it's worth a look at, anyway, and even if you won't use it, at least you know every dirty trick you can do with GNU make afterwards. :-)
as long as i know exactly what files i need to distribute with the library
Hmmm, perhaps we should document this somewhere. For a start I'd try anything autoconf/configure wants, glafp-utils, the mk directories, and of course the Makefiles, from the fptools toplevel down to your library.
and the make process does not do unneccessary things. [...]
Well, that's a long-time goal (at least for me) in the fptools build system, which is currently simply not met. The first small steps have been done by using autoreconf instead of autoconf, but the feature tests should be moved to the sub-projects which really rely on them plus the separation of configuration headers. Note that this would require repeated tests for a big project like GHC, but the use of configure's cache files would make this very cheap. In a nutshell: If you know M4 + autoconf by heart, feel free to restructure things a bit, otherwise you have to live with quite a few useless tests for a while. I'd really like to do it myself, but my day only has 24 hours... Cheers, S.
participants (2)
-
Iavor S. Diatchki
-
Sven Panne