From: Chad Versace Date: Wed, 17 Nov 2010 23:28:36 +0000 (-0800) Subject: glsl: Improve usage message for glsl_compiler X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=7819435f2ef484696560547fbc1325cb97c7174b;p=mesa.git glsl: Improve usage message for glsl_compiler 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] Possible options are: --glsl-es --dump-ast --dump-hir --dump-lir --link --- diff --git a/src/glsl/main.cpp b/src/glsl/main.cpp index 08a44c96e57..33028512644 100644 --- a/src/glsl/main.cpp +++ b/src/glsl/main.cpp @@ -146,15 +146,6 @@ load_text_file(void *ctx, const char *file_name) return text; } - -void -usage_fail(const char *name) -{ - printf("%s \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] \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) {