Sven Tennie pushed to branch wip/romes/hadrian-cross-stage2-rebase_SVEN_FIXED at Glasgow Haskell Compiler / GHC

Commits:

3 changed files:

Changes:

  • hadrian/src/Builder.hs
    ... ... @@ -8,7 +8,7 @@ module Builder (
    8 8
         -- * Builder properties
    
    9 9
         builderProvenance, systemBuilderPath, builderPath, isSpecified, needBuilders,
    
    10 10
         runBuilder, runBuilderWith, runBuilderWithCmdOptions, getBuilderPath,
    
    11
    -    builderEnvironment
    
    11
    +    builderEnvironment, remBuilderEnvironment
    
    12 12
         ) where
    
    13 13
     
    
    14 14
     import Control.Exception.Extra (Partial)
    

  • hadrian/src/Hadrian/Builder.hs
    ... ... @@ -14,7 +14,7 @@
    14 14
     module Hadrian.Builder (
    
    15 15
         Builder (..), BuildInfo (..), needBuilders, runBuilder,
    
    16 16
         runBuilderWithCmdOptions, build, buildWithResources, buildWithCmdOptions,
    
    17
    -    getBuilderPath, builderEnvironment, askWithResources
    
    17
    +    getBuilderPath, builderEnvironment, remBuilderEnvironment, askWithResources
    
    18 18
         ) where
    
    19 19
     
    
    20 20
     import Data.List
    
    ... ... @@ -162,3 +162,7 @@ builderEnvironment variable builder = do
    162 162
         needBuilders [builder]
    
    163 163
         path <- builderPath builder
    
    164 164
         return $ AddEnv variable path
    
    165
    +
    
    166
    +remBuilderEnvironment :: String -> Action CmdOption
    
    167
    +remBuilderEnvironment variable = do
    
    168
    +    return $ RemEnv variable

  • hadrian/src/Rules/Libffi.hs
    ... ... @@ -129,6 +129,25 @@ fixLibffiMakefile top =
    129 129
     
    
    130 130
     -- TODO: check code duplication w.r.t. ConfCcArgs
    
    131 131
     configureEnvironment :: Stage -> Action [CmdOption]
    
    132
    +configureEnvironment stage@Stage1 = do
    
    133
    +    -- TODO: This case should not exist: Strip and Objdump should be staged!
    
    134
    +    context <- libffiContext stage
    
    135
    +    cFlags  <- interpretInContext context $ mconcat
    
    136
    +               [ cArgs
    
    137
    +               , getStagedCCFlags ]
    
    138
    +    ldFlags <- interpretInContext context ldArgs
    
    139
    +    sequence [ builderEnvironment "CC" $ Cc CompileC stage
    
    140
    +             , builderEnvironment "CXX" $ Cc CompileC stage
    
    141
    +             , builderEnvironment "AR" (Ar Unpack stage)
    
    142
    +             -- , builderEnvironment "LD" (Ld stage)
    
    143
    +             , builderEnvironment "NM" (Nm stage)
    
    144
    +             , builderEnvironment "RANLIB" (Ranlib stage)
    
    145
    +             , remBuilderEnvironment "OBJDUMP"
    
    146
    +             , remBuilderEnvironment "STRIP"
    
    147
    +             , remBuilderEnvironment "LD"
    
    148
    +             , return . AddEnv  "CFLAGS" $ unwords  cFlags ++ " -w"
    
    149
    +             , return . AddEnv "LDFLAGS" $ unwords ldFlags ++ " -w" ]
    
    150
    +
    
    132 151
     configureEnvironment stage = do
    
    133 152
         context <- libffiContext stage
    
    134 153
         cFlags  <- interpretInContext context $ mconcat
    
    ... ... @@ -140,6 +159,7 @@ configureEnvironment stage = do
    140 159
                  , builderEnvironment "AR" (Ar Unpack stage)
    
    141 160
                  , builderEnvironment "NM" (Nm stage)
    
    142 161
                  , builderEnvironment "RANLIB" (Ranlib stage)
    
    162
    +             , builderEnvironment "LD" (Ld stage)
    
    143 163
                  , return . AddEnv  "CFLAGS" $ unwords  cFlags ++ " -w"
    
    144 164
                  , return . AddEnv "LDFLAGS" $ unwords ldFlags ++ " -w" ]
    
    145 165