Skip to content

[Parity] Ensure SwiftBuild command line parity with native build #9287

@bkhouri

Description

@bkhouri

Ensure SwiftBuild command line parity with native build. Notable command line options below, how much coverage do we have for these already?

BUILD OPTIONS:
-c, --configuration <configuration>
             Build with configuration (values: debug, release)
-Xcc <Xcc>       Pass flag through to all C compiler invocations.
-Xswiftc <Xswiftc>   Pass flag through to all Swift compiler invocations.
-Xlinker <Xlinker>   Pass flag through to all linker invocations.
-Xcxx <Xcxx>      Pass flag through to all C++ compiler invocations.
--triple <triple>
--sdk <sdk>
--toolchain <toolchain>
--swift-sdk <swift-sdk> Filter for selecting a specific Swift SDK to build with.
--sanitize <sanitize>  Turn on runtime checks for erroneous behavior, possible values: address, thread, undefined,
             scudo, fuzzer. (values: address, thread, undefined, scudo, fuzzer)
--auto-index-store/--enable-index-store/--disable-index-store
             Enable or disable indexing-while-building feature. (default: --auto-index-store)
--enable-parseable-module-interfaces
-j, --jobs <jobs>    The number of jobs to spawn in parallel during the build process.
--use-integrated-swift-driver
--explicit-target-dependency-import-check <explicit-target-dependency-import-check>
             A flag that indicates this build should check whether targets only import their
             explicitly-declared dependencies. (values: none, warn, error; default: none)
--build-system <build-system>
             (values: native, swiftbuild, xcode; default: native)
-debug-info-format <debug-info-format>
             The Debug Information Format to use. (values: dwarf, codeview, none; default: dwarf)
--enable-dead-strip/--disable-dead-strip
             Disable/enable dead code stripping by the linker. (default: --enable-dead-strip)
--disable-local-rpath  Disable adding $ORIGIN/@loader_path to the rpath by default.




--build-tests      Build both source and test targets.
--enable-code-coverage/--disable-code-coverage
             Enable code coverage. (default: --disable-code-coverage)
--show-bin-path     Print the binary output path.
--print-manifest-job-graph
             Write the command graph for the build manifest as a Graphviz file.
--print-pif-manifest-graph
             Write the PIF JSON sent to Swift Build as a Graphviz file.
--target <target>    Build the specified target.
--product <product>   Build the specified product.
--enable-xctest/--disable-xctest
             Enable support for XCTest.
--enable-swift-testing/--disable-swift-testing
             Enable support for Swift Testing.
--static-swift-stdlib/--no-static-swift-stdlib
             Link Swift stdlib statically. (default: --no-static-swift-stdlib)

Metadata

Metadata

Assignees

Type

No type

Projects

Status

In Progress

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions