[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: haskell-skein and exotic architectures



Hey!

On Mon, Jan 2, 2012 at 9:07 PM, Iain Lane <laney@debian.org> wrote:
> I just implemented this in Debian as a patch, which I've attached and it
> would be nice if you could incorporate upstream. I don't see how the
> static list solution can work for biendian architectures like arm (the
> Debian LE arm porterbox 'abel.debian.org' returns 'arm' for
> System.Info.arch) and mips, but you could add s390 to BE.
>
> Sorry for the silence; I must admit this fell off the radar. :-(

Your patch as it is seems to break configuration for ppc and sparc (or
at least turn it very fragile).  On these architectures, both
'arch(i386) || arch(x86_64) || !flag(be)' and 'arch(ppc) ||
arch(sparc) || flag(be)' will be True by default, the former because
of '!flag(be)' and the latter because of 'arch(ppc) || arch(sparc)'.
This leads to something like -DSKEIN_NEED_SWAP=0 -DSKEIN_NEED_SWAP=1.
So unfortunately I can't accept it.

There are three options:

 - Use only flag be.  This is bad IMHO because every user of a BE arch
would need to manually install skein with given flag.  Debian and
other distros could automate this for their packages, but a lot of
people use cabal-install.

 - Manually add arches to that list, which was what I suggested initially.

 - Use two flags: force-endian and big-endian.  Then big-endian would
be taken into account only if force-endian was True, and it would be
False by default.

Regarding biendian archs, I admit I don't know how they work, so I
can't be of much help =(.

Cheers,

-- 
Felipe.


Reply to: