[Haskell-cafe] Re: Hackage on Linux
Brandon S Allbery KF8NH
allbery at ece.cmu.edu
Sun Aug 29 13:06:53 EDT 2010
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
On 8/29/10 08:05 , Ivan Lazar Miljenovic wrote:
> On 29 August 2010 21:46, Andrew Coppin <andrewcoppin at btinternet.com> wrote:
>>> a) No standard place to find C include files.
>>> b) No standard place to find libraries.
>>> c) No standard way to find if common open source libraries are
>>> installed and where.
>>
>> As best as I can tell, the Unix Standard Way(tm) to do this kind of thing is
>> to put files into "well known" locations so that they can be easily found.
>> (The fact that tools like autoconf need to exist tells you something about
>> how tricky this can be.)
>
> No, autoconf has nothing to do with where the "well known" locations
> are. It's having to deal with different versions, etc. of libraries.
Not entirely true; it also deals (or used to deal) with the fact that you
may have stuff in /opt/SUNWsft (Solaris), /opt/kde (SuSE), /usr/local,
/opt/local (MacPorts), /sw (Fink), etc. Then again, that's what pkg-config
deals with these days, leaving autoconf to deal with different APIs/ABIs
(different versions, different build options) as long as the software you're
building is up to date.
>> Regardless, you'd think Cabal could provide some way to make it "easy" to
>> state where the files it needs actually are. Currently it does not.
>
> Well, it uses ghc-pkg to record where the various libraries, etc. are.
> Otherwise, it could be that none of the Cabal developers are really
> that familiar with the "best practices" of developing Windows software
> (and clobbering the registry whilst your at it).
Note that Cabal is no better at tracking location of non-Haskell resources
on Unix. (In fact, isn't that what started this topic?)
> By the way, is it possible to have a globally installed library in
> Windows (for C, etc.) that can be used no matter which IDE or editor
> you use? Or does each IDE manage all that on its own?
DLLs can be put into C:\WINDOWS\SYSTEM32 or equivalent (e.g. Windows NT
liked to install itself in C:\WINNT instead of C:\WINDOWS). LIB files are
less standard and I'm under the impression that every IDE uses its own
notion of where to put them (and may not use the registry in a non-opaque way).
BTW, if there *is* some standard registry tree that can be used for this, it
should be possible to provide a Windows version of pkg-config that would
hide most of this. Replacing autoconf is harder, though it might be
possible to work from configure.in (or even configure.am when automake is
involved).
- --
brandon s. allbery [linux,solaris,freebsd,perl] allbery at kf8nh.com
system administrator [openafs,heimdal,too many hats] allbery at ece.cmu.edu
electrical and computer engineering, carnegie mellon university KF8NH
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.10 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/
iEYEARECAAYFAkx6k60ACgkQIn7hlCsL25UeugCdGEYqFmU0GstywKpFaTwDTGHn
1+cAoNNz8A7sM/XM2GCQdeFSTY/ML5hY
=eK9N
-----END PGP SIGNATURE-----
More information about the Haskell-Cafe
mailing list