BaseTools: Add --version option in Brotli and BrotliCompress
authorSong, BinX <binx.song@intel.com>
Thu, 13 Apr 2017 01:19:48 +0000 (09:19 +0800)
committerLiming Gao <liming.gao@intel.com>
Fri, 5 May 2017 03:15:24 +0000 (11:15 +0800)
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.gao@intel.com>
Cc: Yonghong Zhu <yonghong.zhu@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Bell Song <binx.song@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
BaseTools/BinWrappers/PosixLike/BrotliCompress
BaseTools/Source/C/BrotliCompress/BrotliCompress.bat
BaseTools/Source/C/BrotliCompress/tools/bro.c

index 59c6465..49358b2 100755 (executable)
 # 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
index 257bf1e..b291ff0 100644 (file)
 @echo off\r
 @setlocal\r
 \r
-set LVL=--quality 9\r
+set QLT=-q 9\r
+set INPUTFLAG=0\r
 \r
 :Begin\r
 if "%1"=="" goto End\r
 \r
 if "%1"=="-d" (\r
-  set ARGS=%ARGS% --decompress\r
-  shift\r
-  goto Begin\r
+  set INPUTFLAG=1\r
 )\r
 \r
 if "%1"=="-e" (\r
+  set INPUTFLAG=1\r
   shift\r
   goto Begin\r
 )\r
 \r
 if "%1"=="-g" (\r
-  set ARGS=%ARGS% --gap %2\r
+  set ARGS=%ARGS% %1 %2\r
   shift\r
   shift\r
   goto Begin\r
 )\r
 \r
-if "%1"=="-l" (\r
-  set LVL=--quality %2\r
+if "%1"=="-o" (\r
+  set ARGS=%ARGS% %1 %2\r
   shift\r
   shift\r
   goto Begin\r
 )\r
 \r
-if "%1"=="-o" (\r
-  set ARGS=%ARGS% --output %2\r
-  set INTMP=%2\r
+if "%1"=="-q" (\r
+  set QLT=%1 %2\r
   shift\r
   shift\r
   goto Begin\r
 )\r
 \r
-set ARGS=%ARGS% --input %1\r
+if %INPUTFLAG%==1 (\r
+ if "%2"=="" (\r
+    set ARGS=%ARGS% %QLT% -i %1\r
+    goto End\r
+  )\r
+)\r
+\r
+set ARGS=%ARGS% %1\r
 shift\r
 goto Begin\r
 \r
 :End\r
-Brotli %ARGS% %LVL%\r
+Brotli %ARGS%\r
 @echo on\r
index 2fa9f05..ef4592d 100644 (file)
@@ -13,6 +13,7 @@
 #include <sys/stat.h>\r
 #include <sys/types.h>\r
 #include <time.h>\r
+#include <Common/BuildVersion.h>\r
 \r
 #include "../dec/decode.h"\r
 #include "../enc/encode.h"\r
@@ -67,6 +68,11 @@ static int ParseQuality(const char* s, int* quality) {
   return 0;\r
 }\r
 \r
+#define UTILITY_NAME          "Brotli"\r
+#define UTILITY_MAJOR_VERSION 0\r
+#define UTILITY_MINOR_VERSION 5\r
+#define UTILITY_REVERSION     2\r
+\r
 static void ParseArgv(int argc, char **argv,\r
                       char **input_path,\r
                       char **output_path,\r
@@ -110,6 +116,15 @@ static void ParseArgv(int argc, char **argv,
       }\r
       *verbose = 1;\r
       continue;\r
+    } else if (!strcmp("--version", argv[k])) {\r
+      fprintf(stderr,\r
+              "%s Version %d.%d.%d %s\n",\r
+              UTILITY_NAME,\r
+              UTILITY_MAJOR_VERSION,\r
+              UTILITY_MINOR_VERSION,\r
+              UTILITY_REVERSION,\r
+              __BUILD_VERSION);\r
+      exit(1);\r
     }\r
     if (k < argc - 1) {\r
       if (!strcmp("--input", argv[k]) ||\r
@@ -177,7 +192,8 @@ error:
   fprintf(stderr,\r
           "Usage: %s [--force] [--quality n] [--gap n] [--decompress]"\r
           " [--input filename] [--output filename] [--repeat iters]"\r
-          " [--verbose] [--window n] [--custom-dictionary filename]\n",\r
+          " [--verbose] [--window n] [--custom-dictionary filename]"\r
+          " [--version]\n",\r
           argv[0]);\r
   exit(1);\r
 }\r