| # Copyright 2019 The Fuchsia Authors. All rights reserved. |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| declare_args() { |
| malloc = "scudo" |
| } |
| |
| config("headers") { |
| visibility = [ |
| "./*", |
| "$zx/system/ulib/c:*", |
| ] |
| include_dirs = [ "include" ] |
| } |
| |
| group("musl_internal") { |
| visibility = [ |
| "./*", |
| "$zx/third_party/ulib/$malloc:*", |
| ] |
| public_deps = [ |
| "$zx/system/ulib/processargs", |
| "$zx/system/ulib/runtime", |
| "$zx/system/ulib/zircon", |
| "$zx/system/ulib/zircon-internal", |
| ] |
| public_configs = [ |
| ":headers", |
| ":musl_internal.config", |
| ] |
| } |
| |
| config("musl_internal.config") { |
| visibility = [ ":musl_internal" ] |
| |
| include_dirs = [ |
| "src/internal", |
| "arch/${toolchain.cpu}", |
| ] |
| |
| defines = [ "_XOPEN_SOURCE=700" ] |
| |
| # TODO(kulakowski): Clean up the junkier -Wno flags below. |
| cflags = [ |
| "-Wno-sign-compare", |
| "-Werror=incompatible-pointer-types", |
| "-Wno-implicit-fallthrough", |
| ] |
| |
| if (!is_gcc) { |
| # Some of this code runs before the TLS area for the canary is set up. |
| # TODO(mcgrathr): Isolate this to exactly what code needs it. |
| cflags += [ "-fno-stack-protector" ] |
| } |
| |
| cflags += [ "-ffreestanding" ] |
| } |
| |
| if (toolchain.base_environment == "user") { |
| group("musl") { |
| visibility = [ "$zx/system/ulib/c:*" ] |
| deps = [ |
| "$zx/third_party/ulib/$malloc", |
| "ldso", |
| "pthread", |
| "sanitizers", |
| "src/complex", |
| "src/conf", |
| "src/ctype", |
| "src/dirent", |
| "src/env", |
| "src/errno", |
| "src/exit", |
| "src/fcntl", |
| "src/fenv", |
| "src/internal", |
| "src/ipc", |
| "src/ldso", |
| "src/legacy", |
| "src/linux", |
| "src/locale", |
| "src/math", |
| "src/misc", |
| "src/mman", |
| "src/multibyte", |
| "src/network", |
| "src/passwd", |
| "src/prng", |
| "src/process", |
| "src/regex", |
| "src/sched", |
| "src/setjmp", |
| "src/signal", |
| "src/stat", |
| "src/stdio", |
| "src/stdlib", |
| "src/string", |
| "src/temp", |
| "src/termios", |
| "src/thread", |
| "src/time", |
| "src/unistd", |
| "stubs", |
| "third_party/smoothsort", |
| "third_party/tre", |
| "zircon", |
| ] |
| } |
| } |