From 64ecd3862691585088752933efffb867c818c076 Mon Sep 17 00:00:00 2001 From: malc Date: Tue, 25 Aug 2015 03:06:14 +0300 Subject: [PATCH] Generate help.ml via shell/sed --- build.ninja | 5 ++--- keystoml.ml | 40 ---------------------------------------- mkhelp.sh | 14 ++++++++++---- 3 files changed, 12 insertions(+), 47 deletions(-) delete mode 100644 keystoml.ml diff --git a/build.ninja b/build.ninja index 76076e5..d96b594 100644 --- a/build.ninja +++ b/build.ninja @@ -18,11 +18,10 @@ rule ocamlc description = ocamlc $out rule genhelp - command = sh $srcdir/mkhelp.sh $srcdir/keystoml.ml $srcdir/KEYS >$out + command = sh $srcdir/mkhelp.sh $srcdir/KEYS >$out description = genhelp -build $builddir/help.ml: genhelp $ - $srcdir/mkhelp.sh $srcdir/keystoml.ml $srcdir/KEYS +build $builddir/help.ml: genhelp $srcdir/mkhelp.sh $srcdir/KEYS build $builddir/link.o: cc $srcdir/link.c cflags = $cflags -D_GNU_SOURCE -DFFP build $builddir/help$cmo: ocamlc $builddir/help.ml diff --git a/keystoml.ml b/keystoml.ml deleted file mode 100644 index e5dc52f..0000000 --- a/keystoml.ml +++ /dev/null @@ -1,40 +0,0 @@ -let r_dash = Str.regexp " - ";; -let tabify s = - let dashpos = try Str.search_forward r_dash s 0 with Not_found -> -1 in - if dashpos < 1 - then - let l = String.length s in - if l > 11 && String.sub s 0 5 = "-----" - then - "\xc2\xb7" ^ String.sub s 5 (l - 10) - else - s - else - let rec findnonwsback i = - if i = -1 then 0 else - if s.[i] = ' ' - then findnonwsback (i-1) - else i - in - let nonwspos = findnonwsback dashpos in - let b = Buffer.create 80 in - Buffer.add_substring b s 0 (nonwspos+1); - Buffer.add_char b '\t'; - Buffer.add_substring b s (dashpos+1) (String.length s - dashpos - 1); - Buffer.contents b -;; - -let lines = - let rec fold accu = - match input_line stdin with - | line -> fold (tabify line :: accu) - | exception End_of_file -> List.rev accu - in - fold [] -;; - -let _ = - print_endline "let keys = ["; - List.iter (Printf.printf " %S;\n") lines; - print_endline "];;" -;; diff --git a/mkhelp.sh b/mkhelp.sh index 3d2118f..630f289 100644 --- a/mkhelp.sh +++ b/mkhelp.sh @@ -1,6 +1,12 @@ #!/bin/sh set -e -ocaml str.cma $1 <$2 -v=$(cd $(dirname $1) && git describe --tags --dirty 2>/dev/null \ - || echo "unknown") -echo "let version =\"$v\";;" +v=$(cd $(dirname $0) && git describe --tags --dirty 2>/dev/null || echo unknown) +sed "$1" -f - <