"-Werror" ] ]
commonCFlags = [ Str s | s <- [ "-std=c99",
- "-U__STRICT_ANSI__", -- for newlib headers
"-Wstrict-prototypes",
"-Wold-style-definition",
"-Wmissing-prototypes" ] ]
++ commonCxxFlags
cDefines options = [ Str ("-D"++s) | s <- [ "BARRELFISH",
- "BF_BINARY_PREFIX=\\\"\\\"",
- "_WANT_IO_C99_FORMATS" -- newlib C99 printf format specifiers
+ "BF_BINARY_PREFIX=\\\"\\\""
]
]
++ Config.defines
cStdIncs arch archFamily =
[ NoDep BFSrcTree "src" "/include",
NoDep BFSrcTree "src" ("/include/arch" </> archFamily),
- NoDep BFSrcTree "src" "/lib/newlib/newlib/libc/include",
- NoDep BFSrcTree "src" "/include/c",
NoDep BFSrcTree "src" ("/include/target" </> archFamily),
- NoDep BFSrcTree "src" Config.lwipxxxInc, -- XXX
- NoDep BFSrcTree "src" Config.lwipInc,
NoDep InstallTree arch "/include",
NoDep BFSrcTree "src" ".",
NoDep SrcTree "src" ".",
In InstallTree arch "/lib/libterm_client.a",
In InstallTree arch "/lib/liboctopus_parser.a", -- XXX: For NS client in libbarrelfish
In InstallTree arch "/errors/errno.o",
- In InstallTree arch ("/lib/libnewlib.a"),
+ In InstallTree arch ("/lib/libc.a"),
In InstallTree arch "/lib/libcompiler-rt.a",
--In InstallTree arch "/lib/libposixcompat.a",
--In InstallTree arch "/lib/libvfs.a",
++
[ In BuildTree arch o | o <- objs ]
++
+ [Str "-Wl,--start-group"]
+ ++
+ [ In BuildTree arch l | l <- libs ]
+ ++
[Str "-Wl,--whole-archive"] ++ [ In BuildTree arch l | l <- mods ] ++ [Str "-Wl,--no-whole-archive"]
++
[ In BuildTree arch l | l <- libs ]
++
(optLibs opts)
+ ++
+ [Str "-Wl,--end-group"]
--
++
[ In BuildTree arch l | l <- libs ]
++
- [Str "-Wl,--whole-archive"] ++ [ In BuildTree arch l | l <- mods ] ++ [Str "-Wl,--no-whole-archive"]
+ [Str "-Wl,--start-group -Wl,--whole-archive"] ++ [ In BuildTree arch l | l <- mods ] ++ [Str "-Wl,--no-whole-archive"]
++
(optCxxLibs opts)
+ ++
+ [Str "-Wl,--end-group"]
--
-- Strip debug symbols from an executable