From 98cb468435be54c3191f4bca48cf5135b1927eaf Mon Sep 17 00:00:00 2001 From: "Song, BinX" Date: Thu, 13 Apr 2017 09:19:48 +0800 Subject: [PATCH] BaseTools: Add --version option in Brotli and BrotliCompress https://bugzilla.tianocore.org/show_bug.cgi?id=464 V2: - Add build version V1: - Add --version option in Brotli and BrotliCompress Cc: Liming Gao Cc: Yonghong Zhu Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Bell Song Reviewed-by: Liming Gao --- .../BinWrappers/PosixLike/BrotliCompress | 29 ++++++++++++------ .../C/BrotliCompress/BrotliCompress.bat | 30 +++++++++++-------- BaseTools/Source/C/BrotliCompress/tools/bro.c | 18 ++++++++++- 3 files changed, 55 insertions(+), 22 deletions(-) diff --git a/BaseTools/BinWrappers/PosixLike/BrotliCompress b/BaseTools/BinWrappers/PosixLike/BrotliCompress index 59c6465dad..49358b2329 100755 --- a/BaseTools/BinWrappers/PosixLike/BrotliCompress +++ b/BaseTools/BinWrappers/PosixLike/BrotliCompress @@ -11,32 +11,43 @@ # THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, # WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. # -LVL="--quality 9" +QLT="-q 9" +INPUTFLAG=0 while [ $# != 0 ];do case $1 in -d) - ARGS+="--decompress " + INPUTFLAG=1 + ARGS+="$1 " ;; -e) + INPUTFLAG=1 ;; -g) - ARGS+="--gap $2 " + ARGS+="$1 $2 " shift ;; - -l) - LVL="--quality $2 " + -o) + ARGS+="$1 $2 " shift ;; - -o) - ARGS+="--output $2 " + -q) + QLT="$1 $2 " shift ;; *) - ARGS+="--input $1 " + if [ $INPUTFLAG -eq 1 ] + then + if [ -z $2 ] + then + ARGS+="$QLT -i $1 " + break; + fi + fi + ARGS+="$1 " esac shift done -exec Brotli $ARGS $LVL +exec Brotli $ARGS diff --git a/BaseTools/Source/C/BrotliCompress/BrotliCompress.bat b/BaseTools/Source/C/BrotliCompress/BrotliCompress.bat index 257bf1e9ab..b291ff07f8 100644 --- a/BaseTools/Source/C/BrotliCompress/BrotliCompress.bat +++ b/BaseTools/Source/C/BrotliCompress/BrotliCompress.bat @@ -14,48 +14,54 @@ @echo off @setlocal -set LVL=--quality 9 +set QLT=-q 9 +set INPUTFLAG=0 :Begin if "%1"=="" goto End if "%1"=="-d" ( - set ARGS=%ARGS% --decompress - shift - goto Begin + set INPUTFLAG=1 ) if "%1"=="-e" ( + set INPUTFLAG=1 shift goto Begin ) if "%1"=="-g" ( - set ARGS=%ARGS% --gap %2 + set ARGS=%ARGS% %1 %2 shift shift goto Begin ) -if "%1"=="-l" ( - set LVL=--quality %2 +if "%1"=="-o" ( + set ARGS=%ARGS% %1 %2 shift shift goto Begin ) -if "%1"=="-o" ( - set ARGS=%ARGS% --output %2 - set INTMP=%2 +if "%1"=="-q" ( + set QLT=%1 %2 shift shift goto Begin ) -set ARGS=%ARGS% --input %1 +if %INPUTFLAG%==1 ( + if "%2"=="" ( + set ARGS=%ARGS% %QLT% -i %1 + goto End + ) +) + +set ARGS=%ARGS% %1 shift goto Begin :End -Brotli %ARGS% %LVL% +Brotli %ARGS% @echo on diff --git a/BaseTools/Source/C/BrotliCompress/tools/bro.c b/BaseTools/Source/C/BrotliCompress/tools/bro.c index 2fa9f05e7f..ef4592d420 100644 --- a/BaseTools/Source/C/BrotliCompress/tools/bro.c +++ b/BaseTools/Source/C/BrotliCompress/tools/bro.c @@ -13,6 +13,7 @@ #include #include #include +#include #include "../dec/decode.h" #include "../enc/encode.h" @@ -67,6 +68,11 @@ static int ParseQuality(const char* s, int* quality) { return 0; } +#define UTILITY_NAME "Brotli" +#define UTILITY_MAJOR_VERSION 0 +#define UTILITY_MINOR_VERSION 5 +#define UTILITY_REVERSION 2 + static void ParseArgv(int argc, char **argv, char **input_path, char **output_path, @@ -110,6 +116,15 @@ static void ParseArgv(int argc, char **argv, } *verbose = 1; continue; + } else if (!strcmp("--version", argv[k])) { + fprintf(stderr, + "%s Version %d.%d.%d %s\n", + UTILITY_NAME, + UTILITY_MAJOR_VERSION, + UTILITY_MINOR_VERSION, + UTILITY_REVERSION, + __BUILD_VERSION); + exit(1); } if (k < argc - 1) { if (!strcmp("--input", argv[k]) || @@ -177,7 +192,8 @@ error: fprintf(stderr, "Usage: %s [--force] [--quality n] [--gap n] [--decompress]" " [--input filename] [--output filename] [--repeat iters]" - " [--verbose] [--window n] [--custom-dictionary filename]\n", + " [--verbose] [--window n] [--custom-dictionary filename]" + " [--version]\n", argv[0]); exit(1); } -- 2.39.2