bazelbuild/bazel

Remove legacy crosstool fields

hlopko opened this issue · 0 comments

Remove legacy crosstool fields

For this to happen we need to:

  1. Create a CcToolchainProvider Skylark API to replace existing ctx.fragments.cpp.compiler_options() and ctx.fragments.cpp.linker_options() etc.
    Done in #4571
  2. Prepare migration tooling (elaborated [here]).(https://docs.google.com/document/d/1uv4c1zag6KvdI31qdx8C6jiTognXPQrxgsUpVefm9fM/edit#).
  3. Add incompatible flags to help Bazel users migrate.
  4. Migrate all crosstools to features.
  5. Remove legacy fields from crosstools:
    • all supports_* fields
    • static_runtimes_filegroup
    • dynamic_runtimes_filegroup
    • compiler_flag
    • optional_compiler_flag
    • cxx_flag
    • optional_cxx_flag
    • unfiltered_cxx_flag
    • optional_unfiltered_cxx_flag
    • linker_flag
    • optional_linker_flag
    • dynamic_library_linker_flag
    • optional_dynamic_library_linker_flag
    • test_only_linker_flag
    • objcopy_embed_flag
    • ld_embed_flag
    • ar_flag
    • ar_thin_archives_flag
    • gcc_plugin_compiler_flag
    • compilation_mode_flags
    • lipo_mode_flags
    • linking_mode_flags
    • gcc_plugin_header_directory
    • mao_plugin_header_directory
    • tool_path