145 lines
6.2 KiB
TableGen
145 lines
6.2 KiB
TableGen
//===--- InstallAPIOpts.td ------------------------------------------------===//
|
|
//
|
|
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
|
// See https://llvm.org/LICENSE.txt for license information.
|
|
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
//
|
|
// This file defines the specific options for InstallAPI.
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
// Include the common option parsing interfaces.
|
|
include "llvm/Option/OptParser.td"
|
|
|
|
|
|
/////////
|
|
// Options
|
|
|
|
//
|
|
/// TextAPI options.
|
|
//
|
|
def filetype : Joined<["--"], "filetype=">,
|
|
HelpText<"Specify the output file type (tbd-v4 or tbd-v5)">;
|
|
def not_for_dyld_shared_cache : Joined<["-"], "not_for_dyld_shared_cache">,
|
|
HelpText<"Mark library as shared cache ineligible">;
|
|
|
|
//
|
|
/// Debugging or logging options.
|
|
//
|
|
def t: Flag<["-"], "t">,
|
|
HelpText<"Logs each dylib loaded for InstallAPI. Useful for debugging problems with search paths where the wrong library is loaded.">;
|
|
|
|
//
|
|
/// Verification options.
|
|
//
|
|
def verify_against : Separate<["-"], "verify-against">,
|
|
HelpText<"Verify the specified dynamic library/framework against the headers">;
|
|
def verify_against_EQ : Joined<["--"], "verify-against=">, Alias<verify_against>;
|
|
def verify_mode_EQ : Joined<["--"], "verify-mode=">,
|
|
HelpText<"Specify the severity and extend of the validation. Valid modes are ErrorsOnly, ErrorsAndWarnings, and Pedantic.">;
|
|
def demangle : Flag<["--", "-"], "demangle">,
|
|
HelpText<"Demangle symbols when printing warnings and errors">;
|
|
def dsym: Joined<["--"], "dsym=">,
|
|
MetaVarName<"<path>">, HelpText<"Specify dSYM path for enriched diagnostics.">;
|
|
|
|
//
|
|
/// Additional input options.
|
|
//
|
|
def extra_project_header : Separate<["-"], "extra-project-header">,
|
|
MetaVarName<"<path>">,
|
|
HelpText<"Add additional project header location for parsing">;
|
|
def extra_project_header_EQ : Joined<["--"], "extra-project-header=">,
|
|
Alias<extra_project_header>;
|
|
def exclude_project_header : Separate<["-"], "exclude-project-header">,
|
|
MetaVarName<"<glob>">,
|
|
HelpText<"Exclude project header from parsing">;
|
|
def exclude_project_header_EQ : Joined<["--"], "exclude-project-header=">,
|
|
Alias<exclude_project_header>;
|
|
def extra_public_header : Separate<["-"], "extra-public-header">,
|
|
MetaVarName<"<path>">,
|
|
HelpText<"Add additional public header location for parsing">;
|
|
def extra_public_header_EQ : Joined<["--"], "extra-public-header=">,
|
|
Alias<extra_public_header>;
|
|
def extra_private_header : Separate<["-"], "extra-private-header">,
|
|
MetaVarName<"<path>">,
|
|
HelpText<"Add additional private header location for parsing">;
|
|
def extra_private_header_EQ : Joined<["--"], "extra-private-header=">,
|
|
Alias<extra_private_header>;
|
|
def exclude_public_header : Separate<["-"], "exclude-public-header">,
|
|
MetaVarName<"<glob>">,
|
|
HelpText<"Exclude public header from parsing">;
|
|
def exclude_public_header_EQ : Joined<["--"], "exclude-public-header=">,
|
|
Alias<exclude_public_header>;
|
|
def exclude_private_header : Separate<["-"], "exclude-private-header">,
|
|
MetaVarName<"<glob>">,
|
|
HelpText<"Exclude private header from parsing">;
|
|
def exclude_private_header_EQ : Joined<["--"], "exclude-private-header=">,
|
|
Alias<exclude_private_header>;
|
|
def public_umbrella_header : Separate<["-"], "public-umbrella-header">,
|
|
MetaVarName<"<path>">, HelpText<"Specify the public umbrella header location">;
|
|
def public_umbrella_header_EQ : Joined<["--"], "public-umbrella-header=">,
|
|
Alias<public_umbrella_header>;
|
|
def private_umbrella_header : Separate<["-"], "private-umbrella-header">,
|
|
MetaVarName<"<path>">, HelpText<"Specify the private umbrella header location">;
|
|
def private_umbrella_header_EQ : Joined<["--"], "private-umbrella-header=">,
|
|
Alias<private_umbrella_header>;
|
|
def project_umbrella_header : Separate<["-"], "project-umbrella-header">,
|
|
MetaVarName<"<path>">, HelpText<"Specify the project umbrella header location">;
|
|
def project_umbrella_header_EQ : Joined<["--"], "project-umbrella-header=">,
|
|
Alias<project_umbrella_header>;
|
|
|
|
//
|
|
/// X<label> overrides.
|
|
//
|
|
def Xplatform__ : Joined<["-"], "Xplatform_">;
|
|
def Xproject : Joined<["-"], "Xproject">;
|
|
def X__ : Joined<["-"], "X">,
|
|
HelpText<"Pass <arg> to run unique clang invocation identified as <label>">,
|
|
MetaVarName<"<label> <arg>">;
|
|
|
|
def option_list : Separate<["-"], "optionlist">, MetaVarName<"<path>">,
|
|
HelpText<"Specifies the <path> to a file that contains X<label> arguments to parse.">;
|
|
|
|
//
|
|
/// Overidden clang options for different behavior.
|
|
//
|
|
|
|
// Clang's Xarch does not support options that require arguments.
|
|
// But is supported for InstallAPI generation.
|
|
def Xarch__ : Joined<["-"], "Xarch_">;
|
|
def allowable_client : Separate<["-"], "allowable_client">,
|
|
HelpText<"Restricts what can link against the dynamic library being created">;
|
|
def rpath: Separate<["-"], "rpath">,
|
|
HelpText<"Add path to the runpath search path list for the dynamic library being created.">;
|
|
def reexport_l : Joined<["-"], "reexport-l">,
|
|
HelpText<"Re-export the specified library">;
|
|
def reexport_library : Separate<["-"], "reexport_library">, MetaVarName<"<path>">,
|
|
HelpText<"Re-export the specified library">;
|
|
def reexport_framework : Separate<["-"], "reexport_framework">,
|
|
HelpText<"Re-export the specified framework">;
|
|
|
|
// Xproject supported options.
|
|
def fobjc_arc : Flag<["-"], "fobjc-arc">,
|
|
HelpText<"Synthesize retain and release calls for Objective-C pointers">;
|
|
def include_ : JoinedOrSeparate<["-", "--"], "include">,
|
|
MetaVarName<"<file>">, HelpText<"Include file before parsing, can only be used with -Xproject">;
|
|
def fvisibility_EQ : Joined<["-"], "fvisibility=">,
|
|
HelpText<"Set the default symbol visibility for all global declarations">;
|
|
def fmodules : Flag <["-"], "fmodules">,
|
|
HelpText<"Enable the 'modules' language feature">;
|
|
def fmodules_cache_path : Joined<["-"], "fmodules-cache-path=">,
|
|
MetaVarName<"<directory>">,
|
|
HelpText<"Specify the module cache path">;
|
|
|
|
// Xplatform supported options.
|
|
def iframework : JoinedOrSeparate<["-"], "iframework">,
|
|
HelpText<"Add directory to SYSTEM framework search path">;
|
|
|
|
// X<label> prefixes supported options.
|
|
def D : JoinedOrSeparate<["-"], "D">, HelpText<"Define macro">;
|
|
def U : JoinedOrSeparate<["-"], "U">, HelpText<"Undefine macro">;
|
|
|
|
|