[commit: ghc] master: Rework how iOS does linking (#8127) (98b0d05)

git at git.haskell.org git at git.haskell.org
Thu Aug 29 07:15:11 CEST 2013


Repository : ssh://git@git.haskell.org/ghc

On branch  : master
Link       : http://ghc.haskell.org/trac/ghc/changeset/98b0d05de35bd531102d832f3108050549fd781f/ghc

>---------------------------------------------------------------

commit 98b0d05de35bd531102d832f3108050549fd781f
Author: Austin Seipp <aseipp at pobox.com>
Date:   Wed Aug 28 16:55:42 2013 -0500

    Rework how iOS does linking (#8127)
    
    iOS has some particular constraints about how applications can be built:
    
     * We must generate a static library (.a) since XCode does the final
       link.
     * We need to carefully give the right set of arguments to libtool in
       the case we're generating an archive.
     * Dynamic linking isn't supported.
     * It can only be done on OS X.
    
    This patch cleans up all of the above. We add a new flag `-staticlib`
    (only supported on Darwin) that allows us to produce archive files using
    libtool, and a -pgmlibtool flag to control which 'libtool' executable to
    use.
    
    This fixes #8127. I believe this is the last piece missing from the iOS
    cross compiler.
    
    Authored-by: Luke Iannini <lukexi at me.com>
    Authored-by: Maxwell Swadling <maxwellswadling at gmail.com>
    Authored-by: Stephen Blackheath <... at blacksapphire.com>
    Signed-off-by: Austin Seipp <aseipp at pobox.com>


>---------------------------------------------------------------

98b0d05de35bd531102d832f3108050549fd781f
 aclocal.m4                      |    2 +
 compiler/main/DriverPipeline.hs |   89 ++++++++++++++++++++++++++-------------
 compiler/main/DynFlags.hs       |    8 +++-
 compiler/main/GhcMake.hs        |    2 +-
 compiler/main/Packages.lhs      |   17 +++++---
 compiler/main/SysTools.lhs      |   17 +++++++-
 docs/users_guide/flags.xml      |   22 ++++++++--
 docs/users_guide/phases.xml     |   32 ++++++++++++--
 settings.in                     |    1 +
 9 files changed, 143 insertions(+), 47 deletions(-)

Diff suppressed because of size. To see it, use:

    git diff-tree --root --patch-with-stat --no-color --find-copies-harder --ignore-space-at-eol --cc 98b0d05de35bd531102d832f3108050549fd781f




More information about the ghc-commits mailing list