[Haskell-iPhone] Here's exactly how to build the master-merge-ios branch
Stephen Blackheath [to GHC-iPhone]
likeliest.complexions.stephen at blacksapphire.com
Thu Mar 28 13:55:20 CET 2013
Stefan,
Here is the exact procedure I just did to successfully build the GHC-iOS
cross compiler:
git clone git at github.com:ghc-ios/ghc.git ghc-ios
cd ghc-ios
git checkout master-merge-ios
cp arm-apple-darwin10-bin/* ~/bin/ (<-- ~/bin is in my PATH)
I edited ~/bin/arm-apple-darwin10-gcc to change the -march option to
armv7, like this, because that's what my iPod touch has:
TARGET_CFLAGS="-isysroot $TARGET_PLATFORM -march=armv7 -mcpu=cortex-a8
-mfpu=neon"
git checkout master
git remote set-url origin http://darcs.haskell.org/ghc.git/
./sync-all --no-dph get
wget
http://hackage.haskell.org/trac/ghc/raw-attachment/ticket/7759/ios-patch-14a-libraries-base.patch
wget
http://hackage.haskell.org/trac/ghc/raw-attachment/ticket/7760/ios-patch-15a-against-hsc2hs-remove-HSC2HS_EXTRA-from-stage0-wrapper.patch
cd libraries/base
cat ../../ios-patch-14a-libraries-base.patch | patch -p1
cd ../../utils/hsc2hs/
cat
../../ios-patch-15a-against-hsc2hs-remove-HSC2HS_EXTRA-from-stage0-wrapper.patch
| patch -p1
cd ../..
git remote set-url origin git at github.com:ghc-ios/ghc.git
git checkout master-merge-ios
cat > mk/build.mk
HADDOCK_DOCS = NO
BUILD_DOCBOOK_HTML = NO
BUILD_DOCBOOK_PS = NO
BUILD_DOCBOOK_PDF = NO
SPLIT_OBJS = NO
INTEGER_LIBRARY = integer-simple
Stage1Only = YES
DYNAMIC_GHC_PROGRAMS = NO
GhcLibWays = v
<ctrl-D>
perl boot
./configure --target=arm-apple-darwin10 --prefix=/usr/local/ghc-ios-steve
make
When you get this:
ghc-stage1: panic! (the 'impossible' happened)
(GHC version 7.7.20130328 for arm-apple-ios):
expectJust initTcInteractive
just type 'make' again
I am using:
ghc-7.4.2 as my bootstrap ghc compiler
thopminkringscrape:ghc-ios stephenblackheath$ llc --version
Low Level Virtual Machine (http://llvm.org/):
llvm version 3.0
Optimized build.
Built Aug 10 2012 (18:51:37).
Host: x86_64-apple-darwin12.3.0
Host CPU: i686
This is the head for master-merge-ios branch:
commit 942b130ada7be3f608286da934026e2c162d9527
Merge: 97274b1 81d55a9
Author: Stephen Blackheath <..>
Date: Thu Mar 28 23:51:02 2013 +1300
Merge branch 'master' into master-merge-ios
> would you mind uploading somewhere a source tree that builds for you?
Sorry - I'm not really able to do that at the moment.
> you mean the architecture compiled for? armv7 vs armv7s?
That's right.
I have not actually run this version yet.
Steve
On 28/03/13 23:21, Stefan Kersten wrote:
> hi steve,
>
> On 26 Mar 2013, at 20:36, "Stephen Blackheath [to GHC-iPhone]" <likeliest.complexions.stephen at blacksapphire.com> wrote:
>> The rev you mentioned _definitely_ works.
>>
>> Check that you're using llvm version 3.0 or >= 3.2. Llvm version 3.1 is broken.
>
> i'm using llvm version 3.2, 3.0 doesn't compile anymore with the newest toolchain. still no joy, started from scratch and now having trouble getting as far as i already got. if you have the time and resources, would you mind uploading somewhere a source tree that builds for you? which osx+xcode+llvm are you using?
>
>> If it's not that, then it could be something to do with ARM variants.
>
> you mean the architecture compiled for? armv7 vs armv7s?
>
> many thanks + best,
> sk
>
More information about the iPhone
mailing list