blob: 948f204961c5554f45c7ffe69e23dcc15e739059 [file] [log] [blame]
// Copyright 2018 The Bazel Authors. All rights reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package com.google.devtools.build.lib.rules.cpp;
/** Class holding constants for all C++ action names */
public class CppActionNames {
/** A string constant used to compute CC_FLAGS make variable value */
public static final String CC_FLAGS_MAKE_VARIABLE = "cc-flags-make-variable";
/** A string constant for the strip action name. */
public static final String STRIP = "strip";
/** A string constant for the linkstamp-compile action. */
public static final String LINKSTAMP_COMPILE = "linkstamp-compile";
/** A string constant for the c compilation action. */
public static final String C_COMPILE = "c-compile";
/** A string constant for the c++ compilation action. */
public static final String CPP_COMPILE = "c++-compile";
/** A string constant for the c++ module compile action. */
public static final String CPP_MODULE_CODEGEN = "c++-module-codegen";
/** A string constant for the objc compilation action. */
public static final String OBJC_COMPILE = "objc-compile";
/** A string constant for the objc++ compile action. */
public static final String OBJCPP_COMPILE = "objc++-compile";
/** A string constant for the c++ header parsing. */
public static final String CPP_HEADER_PARSING = "c++-header-parsing";
/**
* A string constant for the c++ module compilation action. Note: currently we don't support C
* module compilation.
*/
public static final String CPP_MODULE_COMPILE = "c++-module-compile";
/** A string constant for the assembler actions. */
public static final String ASSEMBLE = "assemble";
public static final String PREPROCESS_ASSEMBLE = "preprocess-assemble";
/**
* A string constant for the clif actions. Bazel enables different features of the toolchain based
* on the name of the action. This name enables the clif_matcher feature, which switches the
* "compiler" to the clif_matcher and adds some additional arguments as described in the CROSSTOOL
* file.
*/
public static final String CLIF_MATCH = "clif-match";
/** Name of the action producing static library. */
public static final String CPP_LINK_STATIC_LIBRARY = "c++-link-static-library";
/** Name of the action producing dynamic library from cc_library. */
public static final String CPP_LINK_NODEPS_DYNAMIC_LIBRARY = "c++-link-nodeps-dynamic-library";
/** Name of the action producing dynamic library from cc_binary. */
public static final String CPP_LINK_DYNAMIC_LIBRARY = "c++-link-dynamic-library";
/** Name of the action producing executable binary. */
public static final String CPP_LINK_EXECUTABLE = "c++-link-executable";
/** Name of the objc action producing static library */
public static final String OBJC_ARCHIVE = "objc-archive";
/** Name of the objc action producing dynamic library */
public static final String OBJC_FULLY_LINK = "objc-fully-link";
/** Name of the objc action producing objc executable binary */
public static final String OBJC_EXECUTABLE = "objc-executable";
/** Name of the objc action producing objc++ executable binary */
public static final String OBJCPP_EXECUTABLE = "objc++-executable";
public static final String LTO_INDEXING = "lto-indexing";
/** Name of the action producing thinlto index for dynamic library. */
public static final String LTO_INDEX_DYNAMIC_LIBRARY = "lto-index-for-dynamic-library";
/** Name of the action producing thinlto index for nodeps dynamic library. */
public static final String LTO_INDEX_NODEPS_DYNAMIC_LIBRARY =
"lto-index-for-nodeps-dynamic-library";
/** Name of the action producing thinlto index for executable binary. */
public static final String LTO_INDEX_EXECUTABLE = "lto-index-for-executable";
public static final String LTO_BACKEND = "lto-backend";
}