Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[llvm-libtool-darwin] Add support for -V option
The -V option in cctools' libtool prints out the version number and performs any specified operation. Add this option to LLVM's version. cctools is more forgiving of invalid command lines when -V is specified, but I think it's better to give errors instead of silently producing no output. Unfortunately, when -V is present, options that would otherwise be required aren't anymore, so we need to perform some manual argument validation. Reviewed By: alexshap Differential Revision: https://reviews.llvm.org/D86359
- Loading branch information
Showing
4 changed files
with
57 additions
and
6 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
## Test the -V flag, which prints the version number to stdout. It also allows | ||
## for no operation to be specified, but if an operation is specified, it should | ||
## still occur and regular argument parsing errors should be surfaced (unlike | ||
## cctools libtool, which silences all argument parsing errors when -V is | ||
## specified). | ||
|
||
## Test -V by itself | ||
# RUN: llvm-libtool-darwin -V | FileCheck %s | ||
## The specific version number, vendor string, etc. will differ across | ||
## environments, so this is the most specific we can get. | ||
# CHECK: LLVM version | ||
|
||
## Parsing errors should not be surfaced when no operation is specified | ||
# RUN: llvm-libtool-darwin -V -D -U | FileCheck %s | ||
|
||
## Regular errors should occur when an operation is specified | ||
# RUN: not llvm-libtool-darwin -V -static 2>&1 | FileCheck --check-prefix=ERROR %s | ||
# ERROR: for the -o option: must be specified | ||
|
||
## A valid command line should print the version and perform the operation | ||
# RUN: yaml2obj %S/Inputs/input1.yaml -o %t-input1.o | ||
# RUN: yaml2obj %S/Inputs/input2.yaml -o %t-input2.o | ||
# RUN: llvm-libtool-darwin -static -o %t.lib %t-input1.o %t-input2.o -V | FileCheck %s | ||
# RUN: llvm-libtool-darwin -static -o %t2.lib %t-input1.o %t-input2.o | ||
# RUN: cmp %t.lib %t2.lib |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters