
You're right!
curl's cabal file would still contain `extra-libraries: curl`. But when installing curl, whoever decides the parameters for the ghc-pkg file (either cabal or ghc, I don't know at the moment) could ask the linker which version it actually found, and write `extra-libraries: :libcurl.so.<version>` to the ghc-pkg file. I think it is sufficient for GHCi to link against `libHScurl<something>.so` (the Haskell library) and omit `-lcurl` (the C
#9498: GHC links against unversioned .so files -------------------------------------+------------------------------------- Reporter: Kritzefitz | Owner: trommler Type: feature request | Status: new Priority: low | Milestone: Component: Compiler (FFI) | Version: 7.6.3 Resolution: | Keywords: Debian Operating System: Linux | Architecture: Type of failure: Other | Unknown/Multiple Blocked By: | Test Case: Related Tickets: | Blocking: | Differential Revisions: -------------------------------------+------------------------------------- Changes (by trommler): * owner: => trommler Comment: Replying to [comment:7 thomie]: library) from the `ld` command altogether. This would make the linking of dynamic libraries way more efficient as fewer shared libraries need to be opened and fewer symbol tables need to be read. See p 41 of Ulrich Drepper's "How To Write Shared Libraries" http://www.akkadia.org/drepper/dsohowto.pdf. I am going to look into this. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/9498#comment:8 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler