Files
carbon-lang/toolchain/driver/link_options.h
T
Lucile Rose Nihlen 625f2ca629 precompile and cache Carbon prelude (#7432)
Refactors the link driver to automatically compile and cache the carbon
prelude for use in linking.

Implements a `carbon_library` rule for compiling the Core library
dependencies in the examples.
2026-07-16 18:02:14 +00:00

37 lines
1.2 KiB
C++

// Part of the Carbon Language project, under the Apache License v2.0 with LLVM
// Exceptions. See /LICENSE for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
#ifndef CARBON_TOOLCHAIN_DRIVER_LINK_OPTIONS_H_
#define CARBON_TOOLCHAIN_DRIVER_LINK_OPTIONS_H_
#include "common/command_line.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/StringRef.h"
#include "toolchain/driver/codegen_options.h"
#include "toolchain/driver/driver_env.h"
#include "toolchain/driver/driver_subcommand.h"
namespace Carbon {
// Options for the link subcommand.
//
// See the implementation of `link` for documentation on members.
struct LinkOptions {
auto BuildForLinkSubcommand(CommandLine::CommandBuilder& b,
CodegenOptions* cg_options) -> void;
auto BuildForBuildSubcommand(CommandLine::CommandBuilder& b,
CodegenOptions* cg_options) -> void;
const CodegenOptions* codegen_options = nullptr;
llvm::StringRef output_filename;
bool link_prelude_files = true;
llvm::SmallVector<llvm::StringRef> object_filenames;
llvm::SmallVector<llvm::StringRef> extra_clang_args;
};
} // namespace Carbon
#endif // CARBON_TOOLCHAIN_DRIVER_LINK_OPTIONS_H_