diff options
| -rwxr-xr-x | build.sh | 4 | ||||
| -rw-r--r-- | src/base/main.c | 7 | ||||
| -rw-r--r-- | src/lamina/main.c | 18 | ||||
| -rw-r--r-- | src/module/module.c | 7 |
4 files changed, 31 insertions, 5 deletions
@@ -1,9 +1,11 @@ #!/bin/sh set -e +version="$(git describe --tags --first-parent --abbrev=40 --long --dirty --always)" + CC=cc SAN="$SAN -fsanitize=address -fsanitize=undefined -fsanitize=leak" -CFLAGS="$CFLAGS -g -O0 -DENABLE_ASSERT=1 -DENABLE_DEBUG=1" +CFLAGS="$CFLAGS -g -O0 -DENABLE_ASSERT=1 -DENABLE_DEBUG=1 -DVERSION=\"$version\"" CFLAGS="$CFLAGS -Wall -Wextra -Weverything -pedantic" CFLAGS="$CFLAGS -Wno-unsafe-buffer-usage -Wno-gnu-zero-variadic-macro-arguments -Wno-format-non-iso -Wno-declaration-after-statement -Wno-padded -Wno-covered-switch-default -Wno-gnu-empty-struct -Wno-c++-compat -Wno-alloca -Wno-zero-length-array" diff --git a/src/base/main.c b/src/base/main.c index 6721701..8286b6a 100644 --- a/src/base/main.c +++ b/src/base/main.c @@ -903,10 +903,15 @@ main(int ArgCount, char **Arg) { Arg0 = Arg[0]; int C; - while((C = getopt(ArgCount, Arg, "")) != -1) + while((C = getopt(ArgCount, Arg, "v")) != -1) { switch(C) { + case 'v': + { + printf("%s\n", VERSION); + exit(EX_USAGE); + } case '?': default: usage(); } diff --git a/src/lamina/main.c b/src/lamina/main.c index f461058..2b974d7 100644 --- a/src/lamina/main.c +++ b/src/lamina/main.c @@ -564,8 +564,22 @@ int main(int ArgCount, char **Arg) { Arg0 = Arg[0]; - --ArgCount; - ++Arg; + int C; + while((C = getopt(ArgCount, Arg, "v")) != -1) + { + switch(C) + { + case 'v': + { + printf("%s\n", VERSION); + exit(EX_USAGE); + } + case '?': + default: usage(); + } + } + ArgCount -= optind; + Arg += optind; if(ArgCount != 2) usage(); char const *Path = Arg[0]; Root = Arg[1]; diff --git a/src/module/module.c b/src/module/module.c index 22f6142..ad066ee 100644 --- a/src/module/module.c +++ b/src/module/module.c @@ -30,10 +30,15 @@ main(int ArgCount, char **Arg) { Arg0 = Arg[0]; int C; - while((C = getopt(ArgCount, Arg, "")) != -1) + while((C = getopt(ArgCount, Arg, "v")) != -1) { switch(C) { + case 'v': + { + printf("%s\n", VERSION); + exit(EX_USAGE); + } case '?': default: usage(); } |
