#148: Cabal should be able to produce DLLs in Windows
----------------------------+-----------------------------------------------
Reporter: eivuokko | Owner:
Type: enhancement | Status: new
Priority: normal | Milestone: _|_
Component: Cabal library | Version: HEAD
Severity: normal | Resolution:
Keywords: | Difficulty: project(> week)
Ghcversion: 6.4.2 | Platform: Windows
----------------------------+-----------------------------------------------
Changes (by duncan):
* difficulty: hard (< 1 day) => project(> week)
Comment:
What is a dll really? It's not an executable and it is not a library, at
least not the thing that cabal calls a library.
It's actually a hybrid concept. It's statically linked (at least the way
we do it now), linking in the rts and all the dependent haskell packages.
So in that respect it's just like an executable. Obviously it exports more
than just main, it exports all the ffi exported C functions (right?).
How are the exports specified? Are they just the ffi exports? We don't
really need a manually written .def file do we?
So is this concept something we can and want to support in Cabal? Does it
have any cross-platform meaning at all?
If it's a different class of target from executables and libs then I think
we should support it as such and not try and cram it into one of the
existing templates.
Something like:
{{{
name: foo
version: 1.0
foreign_dynamic_library
build-depends: bar
other-modules: Foo
}}}
Though obviously with a more sensible name for the thing than
`foreign_dynamic_library`.
--
Ticket URL: <http://hackage.haskell.org/trac/hackage/ticket/148#comment:3>
Hackage <http://haskell.org/cabal/>
Hackage: Cabal and related projects