]> git.xonotic.org Git - xonotic/gmqcc.git/commitdiff
-q, --quiet option
authorWolfgang Bumiller <blub@speed.at>
Mon, 24 Dec 2012 09:53:51 +0000 (10:53 +0100)
committerWolfgang Bumiller <blub@speed.at>
Mon, 24 Dec 2012 09:53:51 +0000 (10:53 +0100)
gmqcc.h
ir.c
main.c

diff --git a/gmqcc.h b/gmqcc.h
index 65161c225dfb2b64e8b2a1e6f2ce7b196176c5b9..c953b02a0ed047e2ec6cae16aae926c452cdf0af 100644 (file)
--- a/gmqcc.h
+++ b/gmqcc.h
@@ -1019,6 +1019,7 @@ typedef enum {
 typedef struct {
     uint32_t    O;              /* -Ox           */
     const char *output;         /* -o file       */
+    bool        quiet;          /* -q --quiet    */
     bool        g;              /* -g            */
     opts_std_t  standard;       /* -std=         */
     bool        debug;          /* -debug        */
diff --git a/ir.c b/ir.c
index bd60b574d5e672a7777250c7cb29595b0d4f6c43..fda38e9faaf3026bf604a3851b7bef37dc5e8baa 100644 (file)
--- a/ir.c
+++ b/ir.c
@@ -3437,10 +3437,12 @@ bool ir_builder_generate(ir_builder *self, const char *filename)
         memcpy(vec_add(lnofile, 5), ".lno", 5);
     }
 
-    if (lnofile)
-        con_out("writing '%s' and '%s'...\n", filename, lnofile);
-    else
-        con_out("writing '%s'\n", filename);
+    if (!opts.quiet) {
+        if (lnofile)
+            con_out("writing '%s' and '%s'...\n", filename, lnofile);
+        else
+            con_out("writing '%s'\n", filename);
+    }
     if (!code_write(filename, lnofile)) {
         vec_free(lnofile);
         return false;
diff --git a/main.c b/main.c
index a52e70449c4a038aa4dc372f19b1dd2fc13451b5..af4a34cb1f094f02b56d7c8a3546abacd0594645 100644 (file)
--- a/main.c
+++ b/main.c
@@ -62,6 +62,7 @@ static int usage() {
     con_out("  -o, --output=file      output file, defaults to progs.dat\n"
             "  -s filename            add a progs.src file to be used\n");
     con_out("  -E                     stop after preprocessing\n");
+    con_out("  -q, --quiet            be less verbose\n");
     con_out("  -config file           use the specified ini file\n");
     con_out("  -std=standard          select one of the following standards\n"
             "       -std=qcc          original QuakeC\n"
@@ -271,6 +272,10 @@ static bool options_parse(int argc, char **argv) {
                     opts.g = true;
                     break;
 
+                case 'q':
+                    opts.quiet = true;
+                    break;
+
                 case 'D':
                     if (!strlen(argv[0]+2)) {
                         con_err("expected name after -D\n");
@@ -439,6 +444,10 @@ static bool options_parse(int argc, char **argv) {
                         version();
                         exit(0);
                     }
+                    else if (!strcmp(argv[0]+2, "quiet")) {
+                        opts.quiet = true;
+                        break;
+                    }
                     else {
             /* All long options with arguments */
                         if (options_long_witharg("output", &argc, &argv, &argarg)) {
@@ -651,12 +660,12 @@ srcdone:
         goto cleanup;
 
     if (vec_size(items)) {
-        if (!opts.pp_only) {
+        if (!opts.quiet && !opts.pp_only) {
             con_out("Mode: %s\n", (progs_src ? "progs.src" : "manual"));
             con_out("There are %lu items to compile:\n", (unsigned long)vec_size(items));
         }
         for (itr = 0; itr < vec_size(items); ++itr) {
-            if (!opts.pp_only) {
+            if (!opts.quiet && !opts.pp_only) {
                 con_out("  item: %s (%s)\n",
                        items[itr].filename,
                        ( (items[itr].type == TYPE_QC ? "qc" :
@@ -716,7 +725,7 @@ srcdone:
     }
 
     /* stuff */
-    if (!opts.pp_only) {
+    if (!opts.quiet && !opts.pp_only) {
         for (itr = 0; itr < COUNT_OPTIMIZATIONS; ++itr) {
             if (opts_optimizationcount[itr]) {
                 con_out("%s: %u\n", opts_opt_list[itr].name, (unsigned int)opts_optimizationcount[itr]);