Using Cabal for a simple wrapper library
Hello I am trying to use Cabal for a small library that essentially just wraps a C library. There seems to be no (documented) way of linking the produced library with an external library. Basically I have libfoo.so and libfoo.a, and would need the cabalized package to link to either of them. I am trying to use Distribution.Simple and my Setup.description looks like: Name: qdbm Version: 0.1 License: LGPL Copyright: (c) Einar Karttunen 2004 Stability: alpha Build-Depends: haskell-src Modules: Database.QDBM.Depot Maintainer: Einar Karttunen <ekarttun@cs.helsinki.fi> Extra-Libs: qdbm Extensions: ForeignFunctionInterface -- -fglasgow-exts is needed for data without a constructor -- -#include is a hack -- -cpp needs a better way of saying it -- And how should the library be linked really? Options-ghc: -cpp -fglasgow-exts -O2 -#include <depot.h> - Einar Karttunen
Einar Karttunen <ekarttun@cs.helsinki.fi> writes:
Hello
I am trying to use Cabal for a small library that essentially just wraps a C library. There seems to be no (documented) way of linking the produced library with an external library.
To be clear, extra-libs isn't what you want? If not, you have two choices: 1) add this feature to cabal and send me the patch (preferably with a simple "darcs record" and "darcs send") 2) the basic strategy for doing something that _almost_ fits the pattern of the "Distribution.Simple" infrastructure is to copy Distribution.Simple, and add what you need, in this case, probably to the BuildCmd line :) that way, it conforms to the command-line interface and you don't have to do any extra work. (snip)
Extensions: ForeignFunctionInterface -- -fglasgow-exts is needed for data without a constructor -- -#include is a hack -- -cpp needs a better way of saying it (snip)
I hope to have a coherent preprocessing system in the near future. peace, isaac
participants (2)
-
Einar Karttunen -
Isaac Jones