https://bugzilla.tianocore.org/show_bug.cgi?id=464
V2:
- Add build version

V1:
- Add --version option in Brotli and BrotliCompress

Cc: Liming Gao <liming....@intel.com>
Cc: Yonghong Zhu <yonghong....@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Bell Song <binx.s...@intel.com>
---
 BaseTools/BinWrappers/PosixLike/BrotliCompress     | 29 ++++++++++++++-------
 .../Source/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 59c6465..49358b2 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 257bf1e..b291ff0 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 2fa9f05..ef4592d 100644
--- a/BaseTools/Source/C/BrotliCompress/tools/bro.c
+++ b/BaseTools/Source/C/BrotliCompress/tools/bro.c
@@ -13,6 +13,7 @@
 #include <sys/stat.h>
 #include <sys/types.h>
 #include <time.h>
+#include <Common/BuildVersion.h>
 
 #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.10.2.windows.1

_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to