Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
Glasgow Haskell Compiler
GHC
Commits
44fbccd6
Commit
44fbccd6
authored
Apr 17, 2011
by
Ian Lynagh
Browse files
Make ghc less keen to pass -v to gcc and friends
Also a small refactoring in how the verbosity flag is handled.
parent
ee16dc77
Changes
2
Hide whitespace changes
Inline
Side-by-side
compiler/main/DriverPipeline.hs
View file @
44fbccd6
...
...
@@ -1031,7 +1031,7 @@ runPhase cc_phase input_fn dflags
gcc_extra_viac_flags
<-
io
$
getExtraViaCOpts
dflags
let
pic_c_flags
=
picCCOpts
dflags
let
verb
=
getVerbFlag
dflags
let
verb
Flags
=
getVerbFlag
s
dflags
-- cc-options are not passed when compiling .hc files. Our
-- hc code doesn't not #include any header files anyway, so these
...
...
@@ -1118,7 +1118,8 @@ runPhase cc_phase input_fn dflags
++
(
if
hcc
then
gcc_extra_viac_flags
++
more_hcc_opts
else
[]
)
++
[
verb
,
"-S"
,
"-Wimplicit"
,
cc_opt
]
++
verbFlags
++
[
"-S"
,
"-Wimplicit"
,
cc_opt
]
++
[
"-D__GLASGOW_HASKELL__="
++
cProjectVersionInt
]
#
ifdef
darwin_TARGET_OS
++
framework_paths
...
...
@@ -1577,7 +1578,7 @@ getHCFilePackages filename =
linkBinary
::
DynFlags
->
[
FilePath
]
->
[
PackageId
]
->
IO
()
linkBinary
dflags
o_files
dep_packages
=
do
let
verb
=
getVerbFlag
dflags
let
verb
Flags
=
getVerbFlag
s
dflags
output_fn
=
exeFileName
dflags
-- get the full list of packages to link with, by combining the
...
...
@@ -1655,10 +1656,10 @@ linkBinary dflags o_files dep_packages = do
let
md_c_flags
=
machdepCCOpts
dflags
SysTools
.
runLink
dflags
(
[
SysTools
.
Option
verb
,
SysTools
.
Option
"-o"
,
SysTools
.
FileOption
""
output_fn
]
map
SysTools
.
Option
verb
Flags
++
[
SysTools
.
Option
"-o"
,
SysTools
.
FileOption
""
output_fn
]
++
map
SysTools
.
Option
(
md_c_flags
...
...
@@ -1771,7 +1772,7 @@ maybeCreateManifest dflags exe_filename = do
linkDynLib
::
DynFlags
->
[
String
]
->
[
PackageId
]
->
IO
()
linkDynLib
dflags
o_files
dep_packages
=
do
let
verb
=
getVerbFlag
dflags
let
verb
Flags
=
getVerbFlag
s
dflags
let
o_file
=
outputFile
dflags
pkgs
<-
getPreloadPackagesAnd
dflags
dep_packages
...
...
@@ -1816,15 +1817,15 @@ linkDynLib dflags o_files dep_packages = do
-----------------------------------------------------------------------------
let
output_fn
=
case
o_file
of
{
Just
s
->
s
;
Nothing
->
"HSdll.dll"
;
}
SysTools
.
runLink
dflags
([
SysTools
.
Option
verb
,
SysTools
.
Option
"-o"
,
SysTools
.
FileOption
""
output_fn
,
SysTools
.
Option
"-shared"
]
++
[
SysTools
.
FileOption
"-Wl,--out-implib="
(
output_fn
++
".a"
)
|
dopt
Opt_SharedImplib
dflags
]
SysTools
.
runLink
dflags
(
map
SysTools
.
Option
verb
Flags
++
[
SysTools
.
Option
"-o"
,
SysTools
.
FileOption
""
output_fn
,
SysTools
.
Option
"-shared"
]
++
[
SysTools
.
FileOption
"-Wl,--out-implib="
(
output_fn
++
".a"
)
|
dopt
Opt_SharedImplib
dflags
]
++
map
(
SysTools
.
FileOption
""
)
o_files
++
map
SysTools
.
Option
(
md_c_flags
...
...
@@ -1876,12 +1877,12 @@ linkDynLib dflags o_files dep_packages = do
Nothing
->
do
pwd
<-
getCurrentDirectory
return
$
pwd
`
combine
`
output_fn
SysTools
.
runLink
dflags
([
SysTools
.
Option
verb
,
SysTools
.
Option
"-dynamiclib"
,
SysTools
.
Option
"-o"
,
SysTools
.
FileOption
""
output_fn
]
SysTools
.
runLink
dflags
(
map
SysTools
.
Option
verb
Flags
++
[
SysTools
.
Option
"-dynamiclib"
,
SysTools
.
Option
"-o"
,
SysTools
.
FileOption
""
output_fn
]
++
map
SysTools
.
Option
(
md_c_flags
++
o_files
...
...
@@ -1912,11 +1913,11 @@ linkDynLib dflags o_files dep_packages = do
-- non-PIC intra-package-relocations
[
"-Wl,-Bsymbolic"
]
SysTools
.
runLink
dflags
([
SysTools
.
Option
verb
,
SysTools
.
Option
"-o"
,
SysTools
.
FileOption
""
output_fn
]
SysTools
.
runLink
dflags
(
map
SysTools
.
Option
verb
Flags
++
[
SysTools
.
Option
"-o"
,
SysTools
.
FileOption
""
output_fn
]
++
map
SysTools
.
Option
(
md_c_flags
++
o_files
...
...
@@ -1945,7 +1946,7 @@ doCpp dflags raw include_cc_opts input_fn output_fn = do
let
include_paths
=
foldr
(
\
x
xs
->
"-I"
:
x
:
xs
)
[]
(
cmdline_include_paths
++
pkg_include_dirs
)
let
verb
=
getVerbFlag
dflags
let
verb
Flags
=
getVerbFlag
s
dflags
let
cc_opts
|
not
include_cc_opts
=
[]
...
...
@@ -1965,7 +1966,7 @@ doCpp dflags raw include_cc_opts input_fn output_fn = do
-- remember, in code we *compile*, the HOST is the same our TARGET,
-- and BUILD is the same as our HOST.
cpp_prog
(
[
SysTools
.
Option
verb
]
cpp_prog
(
map
SysTools
.
Option
verb
Flags
++
map
SysTools
.
Option
include_paths
++
map
SysTools
.
Option
hsSourceCppOpts
++
map
SysTools
.
Option
target_defs
...
...
compiler/main/DynFlags.hs
View file @
44fbccd6
...
...
@@ -40,7 +40,7 @@ module DynFlags (
initDynFlags
,
-- DynFlags -> IO DynFlags
getOpts
,
-- DynFlags -> (DynFlags -> [a]) -> [a]
getVerbFlag
,
getVerbFlag
s
,
updOptLevel
,
setTmpDir
,
setPackageName
,
...
...
@@ -873,10 +873,10 @@ getOpts dflags opts = reverse (opts dflags)
-- | Gets the verbosity flag for the current verbosity level. This is fed to
-- other tools, so GHC-specific verbosity flags like @-ddump-most@ are not included
getVerbFlag
::
DynFlags
->
String
getVerbFlag
dflags
|
verbosity
dflags
>=
3
=
"-v"
|
otherwise
=
""
getVerbFlag
s
::
DynFlags
->
[
String
]
getVerbFlag
s
dflags
|
verbosity
dflags
>=
4
=
[
"-v"
]
|
otherwise
=
[]
setObjectDir
,
setHiDir
,
setStubDir
,
setOutputDir
,
setDylibInstallName
,
setObjectSuf
,
setHiSuf
,
setHcSuf
,
parseDynLibLoaderMode
,
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment