Wither Haskell Platform 2013.4.0.0

Luke Iannini lukexipd at gmail.com
Mon Oct 14 20:42:08 BST 2013


To briefly explain the issue with Xcode 5 and GHC 7.6.3, as it's really not
that big:
7.6.3 passes "-x c" when running the c compiler in preprocessor mode. Clang
requires "-x assembler-with-cpp" to be compatible with the GHC codebase.

So the workaround Austin Seipp helped me cook up is to simply wrap clang,
detect it's being run in preprocessor mode (i.e. look for the args "-E
-undef -traditional"), and make sure it gets passed -x assembler-with-cpp.

You can see the entirety of it here:
https://github.com/ghc-ios/ghc-ios-scripts/blob/master/clang-xcode5-wrapper.hs

I wrote the workaround as a a Haskell script, but someone with basic
bash-fu could easily write it as a shell script.

7.6.3's settings file just has to be pointed at that wrapper instead of
directly at clang and then everything works flawlessly with Xcode 5's
clang, on 10.8 and 10.9 alike.

Cheers
Luke

On Mon, Oct 14, 2013 at 9:13 AM, Carter Schonwald <
carter.schonwald at gmail.com> wrote:

> I guess my point is there's a number of work arounds that are easy for a
> power user to support, but should NOT be the default setup or config
> required for new users.
>
> Eg: brew also provides an installer for apple-gcc42 and you could then
> point your ghc settings file to.
>
> That said, it's not a solution we probably want to encourage by default,
> it definitely took me a while to cook up sane directions, and some of those
> directions/approaches apparently become useless if you update to OS X 10.9.
> (I think partly because the default C++ std libs on Mac shift, so you can't
> easily build GCC on mavericks currently allegedly )
>
> On Monday, October 14, 2013, Edward Kmett wrote:
>
>> As I do most of my development on a Mac I confess I currently live in
>> fear of accidentally clicking on the XCode 5 upgrade button and winding up
>> in an unsupported configuration. That makes me very leery of option C,
>> where developers like me are treading on egg-shells around system updates
>> for the next 6 months.
>>
>> -Edward
>>
>>
>>
>> On Sun, Oct 13, 2013 at 7:26 PM, Mark Lentczner <mark.lentczner at gmail.com
>> > wrote:
>>
>>> It wasn't my intention to open up the whole question of scheduled
>>> releases. HP has a regular release schedule, and there were many good
>>> discussions leading up to it. As for the timing of those releases, last
>>> time we looked into this there was no good release time that worked for all
>>> the common Linux distro's release schedules. Perhaps GNOME has figured this
>>> one out - they release stable end of September and end of March. We could
>>> aim to glide toward that.
>>>
>>> Back to this release:
>>>
>>> GHC 7.8 won't be ready for inclusion in an HP for quite some time. We
>>> haven't even seen the first release yet! If it has stabilized by end of
>>> February, then it could make it into the next HP (assuming we don't move
>>> the schedule up to match GNOME).  But I think realistically, one shouldn't
>>> expect a GHC 7.8 as part of an HP release until 2014.4.0.0. *[Aside: If
>>> the community wants to see closer tracking, then we probably need to start
>>> talking about a different way of producing GHC - with both stable and
>>> experimental releases happening... when this idea has been raised in the
>>> past, GHC central hasn't had the person-power to do it.]*
>>> *
>>> *
>>> The next Mac OS X is indeed right around the corner (no official date
>>> from Apple, just "this Autumn") - the GM release candidate of both OS X
>>> Mavericks and Xcode 5 are already in developers (and my) hands. My
>>> understanding is that current HP just won't work on it - which means we
>>> really should get something out to support it.
>>>
>>> SO, back to concrete ideas:
>>>
>>> *A) Minor release*
>>>
>>> *• Minor rev:* since GHC and most packages haven't changed, and we
>>> won't be adding anything, just roll it as normal now.
>>> *• Bump for Mac:* immediately after, roll HP 2013.4.1.0 which has GHC
>>> 7.6.3 + patches (perhaps named 7.6.4?), so this works w/Xcode 5
>>>
>>> *—or—*
>>> *B) Delay release*
>>>
>>> *• New packages:* running the normal process, just a month late
>>>
>>> *• Bump for Mac: *get GHC central to put out 7.6.4 which has what is
>>> needed to support Xcode 5
>>>
>>> *—or—*
>>> *C) Skip a release*
>>>
>>> *• Go for 7.8:* push everyone (GHC central, library maintainers) to get
>>> 7.8 stable ASAP
>>>
>>> *• Big Push for Packages:* use the time to push for a significant
>>> increase in the packages in the Platform
>>>
>>> *• Release in March: *aiming to sync with GNOME, assuming they're on to
>>> something!
>>>
>>>
>>> As attractive as some aspects of C are, it leaves anyone with a Mac out
>>> in the cold for six months: They either can't upgrade, or can't Haskell.
>>>
>>> A requires duplicate effort (mostly on my part), but is otherwise
>>> mechanical... and not that exciting.
>>>
>>> B deviates from our schedule, but if GHC can roll a 7.6.4, might get us
>>> an HP with some new packages.
>>>
>>> — Mark
>>>
>>>
>>> _______________________________________________
>>> ghc-devs mailing list
>>> ghc-devs at haskell.org
>>> http://www.haskell.org/mailman/listinfo/ghc-devs
>>>
>>>
>>
> _______________________________________________
> ghc-devs mailing list
> ghc-devs at haskell.org
> http://www.haskell.org/mailman/listinfo/ghc-devs
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://projects.haskell.org/pipermail/haskell-platform/attachments/20131014/21852bba/attachment-0001.htm>


More information about the Haskell-platform mailing list