New upstream version 3.1.1
[xfishtank.git] / src / gen_ui_xml.sh
1 #!/bin/sh
2 # -copyright-
3 #-# Copyright © 2021 Eric Bina, Dave Black, TJ Phan,
4 #-# Vincent Renardias, Willem Vermin
5 #-#
6 #-# Permission is hereby granted, free of charge, to any person
7 #-# obtaining a copy of this software and associated documentation
8 #-# files (the “Software”), to deal in the Software without
9 #-# restriction, including without limitation the rights to use,
10 #-# copy, modify, merge, publish, distribute, sublicense, and/or
11 #-# sell copies of the Software, and to permit persons to whom
12 #-# the Software is furnished to do so, subject to the following
13 #-# conditions:
14 #-#
15 #-# The above copyright notice and this permission notice shall
16 #-# be included in all copies or substantial portions of the Software.
17 #-#
18 #-# THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND,
19 #-# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
20 #-# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
21 #-# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
22 #-# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
23 #-# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
24 #-# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
25 #-# OTHER DEALINGS IN THE SOFTWARE.
26 #-#
27 # create C code to get ui.xml in a string
28 # ISO C stipulates that the length of a string constant should
29 # not be larger than 4096, so we create a definition as in
30 # char xpenguins_xml[] = {60,63,120,109,108,32,118,101,0};
31 #
32 root="${1:-..}"
33 in="ui.xml"
34 out="ui_xml.h"
35 echo "/* This file is generated from '$in' by '$0' */" > "$out"
36 echo "/* -copyright-" >> "$out"
37 echo "*/" >> "$out"
38 echo "#pragma once" >> "$out"
39 echo "char xfishtank_xml[] = {" >> "$out"
40 sed 's/^ *//' "$root/src/$in" | awk -v FS="" \
41 'BEGIN{for(n=0;n<256;n++)ord[sprintf("%c",n)]=n;}
42 {for (i=1;i<=NF;i++) printf "%d,", ord[$i];
43 printf "%d,\n",ord["\n"];}' >> "$out"
44 echo "0};">> "$out"
45 if [ -x "$root/addcopyright.sh" ] ; then "$root/addcopyright.sh" "$out" ; fi
This page took 0.022248 seconds and 4 git commands to generate.