# 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.

import("$zx/kernel/syscalls/abigen.gni")
import("$zx/public/gn/toolchain/environment_redirect.gni")

# The vDSO can't be built with instrumentation.
exclude_tags = [ "instrumented" ]

# References from instrumented variants just redirect.  This prevents extra
# abigen runs in other toolchains just to get identical generated headers.
if (toolchain.tags + exclude_tags - exclude_tags != toolchain.tags ||
    toolchain.environment != "user") {
  environment_redirect("headers") {
    environment_label = "$zx/public/gn/toolchain:user"
    direct = true
    shlib = true
    exclude_variant_tags = exclude_tags
    deps = [
      ":headers",
    ]
  }
  if (toolchain.base_environment == "user") {
    # Instrumented variants, and all variants of derived environments,
    # link against the uninstrumented library.
    environment_redirect("zircon") {
      environment_label = "$zx/public/gn/toolchain:user"
      direct = true
      shlib = true
      exclude_variant_tags = exclude_tags
      deps = [
        ":zircon",
      ]
    }
  } else {
    # References from other environments only get the headers.  This
    # makes it easy to have "$zx/system/ulib/zircon" deps in common
    # libraries that need to link against it in userland but that in
    # other contexts like kernel or userboot are just using the headers.
    group("zircon") {
      public_deps = [
        ":headers",
      ]
    }
  }
} else {
  # TODO(mcgrathr): Rename the source files and the abigen switch.
  if (zircon_cpu == "x86") {
    zircon_cpu = "x86-64"
    abigen_cpu = "x86"
  } else if (zircon_cpu == "arm64") {
    abigen_cpu = "arm"
  }

  library("zircon") {
    shared = true
    static = false

    # The vDSO is never installed as a file, only baked into the kernel.
    install_path = false

    sources = [
      "data.S",
      "syscall-wrappers.cpp",
      "zx_cache_flush.cpp",
      "zx_channel_call.cpp",
      "zx_cprng_draw.cpp",
      "zx_deadline_after.cpp",
      "zx_status_get_string.cpp",
      "zx_system_get_dcache_line_size.cpp",
      "zx_system_get_features.cpp",
      "zx_system_get_num_cpus.cpp",
      "zx_system_get_physmem.cpp",
      "zx_system_get_version.cpp",
      "zx_ticks_get.cpp",
      "zx_ticks_per_second.cpp",
      "zx_vmo_clone.cpp",
    ]

    configs += [ ":config" ]
    deps = [
      ":generate",
      ":syscall-asm",
      "$zx/kernel/lib/vdso:headers",
    ]
    public_deps = [
      ":generated-public-headers",
    ]

    # Instruct the linker to preserve the hidden alternate entry points.
    # Note, "./" makes GN realize this is a file rather than a -l switch.
    libs = [ "./alternates.ld" ]

    # Set e_entry so _zx_process_exit is easy to find without reading .dynsym.
    ldflags = [ "-Wl,-e,_zx_process_exit" ]

    # This doesn't get normal default deps on libc.
    no_implicit_deps = true

    # This doesn't actually use libc++ at all, really (only header-only use
    # would be safe).  But the compiler driver implicitly links it in, and by
    # default with dynamic linking.  So it's crucial to tell it to link it in
    # statically instead even though really we shouldn't get it at all.  We
    # don't just use `-nostdlib++` because we still want the header access.
    configs += [ "$zx/public/gn/config:static-libc++" ]

    # TODO(BLD-353): The SDK exports this as part of the sysroot rather
    # than as an independent library.  Legacy integration likewise does not
    # use a //zircon/public/lib/zircon buts instead uses libs=["zircon"].
    # See //zircon/public/sysroot.
    #
    # The stripped binary doesn't even have section headers, so the linker
    # can't handle it.  Eventually we'll have linker stubs.  For now, just
    # use the unstripped library to link against.  (In the case of the vDSO
    # we don't really need to strip it in the first place, since its
    # segments are embedded in the kernel and the stripped file is never
    # put on a device.  But there's no reasonable way to disable the
    # standard stripping behavior for a single target.)  The legacy build
    # needs there to be a -L directory where libzircon.so is the name to
    # link against so -lzircon works.  So mock up such a directory using a
    # linker script to redirect to the actual unstripped file name, which
    # is not that.
    link_file = "$target_gen_dir/libzircon.so"
    debug_file = rebase_path("$target_out_dir/libzircon.so.debug")
    write_file(link_file, [ "INPUT($debug_file)" ])
    metadata = {
      legacy_sysroot = [
        {
          vdso =
              rebase_path("$target_out_dir/libzircon.so.debug", root_build_dir)
        },
        {
          include_dirs = rebase_path([
                                       "include",
                                       root_gen_dir,
                                     ],
                                     root_build_dir)
        },
        {
          sdk = {
            include_dir = rebase_path(root_gen_dir, root_build_dir)
            headers = [
              "zircon/syscalls/definitions.h",
              # Note not included in SDK: "zircon/syscalls/definitions.rs",
            ]
          }
        },
        {
          sdk = {
            include_dir = rebase_path("include", root_build_dir)
            headers = [ "zircon/status.h" ]
          }
        },
        {
          sdk = {
            source = rebase_path("$target_out_dir/libzircon.so.debug",
                                 root_build_dir)
            link = "lib/libzircon.so"
          }
        },
        {
          sdk = {
            source = rebase_path("$target_out_dir/libzircon.so.debug",
                                 root_build_dir)
            debug = "debug/libzircon.so"
          }
        },
      ]

      # TODO(BLD-353): This is not actually for the SDK (see above).  This
      # is special-cased so no //zircon/public/lib/zircon gets made, but
      # //build/config/fuchsia:compiler_sysroot can look up the metadata to
      # find the right lib_dirs.
      legacy_barrier = []
      legacy_targets = [
        {
          _label = get_label_info(":$target_name", "label_with_toolchain")
          _zircon_public = "lib"
          target_name = "zircon"
          libs = []
          libs = [ rebase_path(link_file, root_build_dir) ]
        },
      ]
    }
  }

  # Everything with ":config" in configs needs ":generate" in deps.
  config("config") {
    visibility = [ ":*" ]

    # This library should not depend on libc.
    cflags = [ "-ffreestanding" ]
    configs = [
      "$zx/public/gn/config:no_sanitizers",
      "$zx/public/gn/config:rodso",
    ]

    include_dirs = [ target_gen_dir ]
  }

  source_set("syscall-asm") {
    sources = [
      "syscalls-$zircon_cpu.S",
      "zx_futex_wake_handle_close_thread_exit-$zircon_cpu.S",
      "zx_vmar_unmap_handle_close_thread_exit-$zircon_cpu.S",
    ]
    configs += [ ":config" ]
    deps = [
      ":generate",
      "$zx/kernel/syscalls:syscall-abi",
    ]
    if (toolchain.base_environment == "user") {
      configs -= [ "$zx/public/gn/config:user" ]
    }
  }

  group("generated-public-headers") {
    public_configs = [ ":generated-public-headers.config" ]
    deps = [
      ":generate",
    ]
  }

  config("generated-public-headers.config") {
    visibility = [ ":generated-public-headers" ]
    include_dirs = [ root_gen_dir ]
  }

  abigen("generate") {
    visibility = [ ":*" ]
    gen = [
      # These are the public headers.
      {
        args = [ "-user-header" ]
        outputs = [
          "$root_gen_dir/zircon/syscalls/definitions.h",
        ]
      },
      {
        args = [ "-rust" ]
        outputs = [
          "$root_gen_dir/zircon/syscalls/definitions.rs",
        ]
      },

      # TODO(mcgrathr): Drop the zircon/ prefix from the remaining files.
      # These are private.
      {
        args = [ "-vdso-header" ]
        outputs = [
          "$target_gen_dir/zircon/syscall-vdso-definitions.h",
        ]
      },
      {
        args = [ "-vdso-wrappers" ]
        outputs = [
          "$target_gen_dir/zircon/syscall-vdso-wrappers.inc",
        ]
      },
      {
        args = [ "-${abigen_cpu}-asm" ]
        outputs = [
          "$target_gen_dir/zircon/syscalls-$zircon_cpu.S",
        ]
      },
    ]
  }
}
