glsl: Improve usage message for glsl_compiler
authorChad Versace <chad.versace@intel.com>
Wed, 17 Nov 2010 23:28:36 +0000 (15:28 -0800)
committerKenneth Graunke <kenneth@whitecape.org>
Wed, 17 Nov 2010 23:44:41 +0000 (15:44 -0800)
The new usage message lists possible command line options. (Newcomers to Mesa
currently have to trawl through the source to find the command line options,
and we should save them from that trouble.)

Example Output
--------------
usage: ./glsl_compiler [options] <file.vert | file.geom | file.frag>

Possible options are:
    --glsl-es
    --dump-ast
    --dump-hir
    --dump-lir
    --link

src/glsl/main.cpp

index 08a44c96e5749e5398663705c707de68312ae358..33028512644c1eddfa30de353dc06d15a4248716 100644 (file)
@@ -146,15 +146,6 @@ load_text_file(void *ctx, const char *file_name)
        return text;
 }
 
-
-void
-usage_fail(const char *name)
-{
-      printf("%s <filename.frag|filename.vert>\n", name);
-      exit(EXIT_FAILURE);
-}
-
-
 int glsl_es = 0;
 int dump_ast = 0;
 int dump_hir = 0;
@@ -170,6 +161,25 @@ const struct option compiler_opts[] = {
    { NULL, 0, NULL, 0 }
 };
 
+/**
+ * \brief Print proper usage and exit with failure.
+ */
+void
+usage_fail(const char *name)
+{
+
+   const char *header =
+      "usage: %s [options] <file.vert | file.geom | file.frag>\n"
+      "\n"
+      "Possible options are:\n";
+   printf(header, name, name);
+   for (const struct option *o = compiler_opts; o->name != 0; ++o) {
+      printf("    --%s\n", o->name);
+   }
+   exit(EXIT_FAILURE);
+}
+
+
 void
 compile_shader(struct gl_context *ctx, struct gl_shader *shader)
 {