1 | #!/opt/bin/perl |
1 | #!/opt/bin/perl |
2 | |
|
|
3 | # |
2 | # |
4 | # This file is part of Deliantra, the Roguelike Realtime MMORPG. |
3 | # This file is part of Deliantra, the Roguelike Realtime MMORPG. |
5 | # |
4 | # |
6 | # Copyright (©) 2005,2006,2007,2008,2009 Marc Alexander Lehmann / Robin Redeker / the Deliantra team |
5 | # Copyright (©) 2005,2006,2007,2008,2009,2016 Marc Alexander Lehmann / Robin Redeker / the Deliantra team |
7 | # |
6 | # |
8 | # Deliantra is free software: you can redistribute it and/or modify it under |
7 | # Deliantra is free software: you can redistribute it and/or modify it under |
9 | # the terms of the Affero GNU General Public License as published by the |
8 | # the terms of the Affero GNU General Public License as published by the |
10 | # Free Software Foundation, either version 3 of the License, or (at your |
9 | # Free Software Foundation, either version 3 of the License, or (at your |
11 | # option) any later version. |
10 | # option) any later version. |
12 | # |
11 | # |
13 | # This program is distributed in the hope that it will be useful, |
12 | # This program is distributed in the hope that it will be useful, |
14 | # but WITHOUT ANY WARRANTY; without even the implied warranty of |
13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of |
15 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
16 | # GNU General Public License for more details. |
15 | # GNU General Public License for more details. |
17 | # |
16 | # |
18 | # You should have received a copy of the Affero GNU General Public License |
17 | # You should have received a copy of the Affero GNU General Public License |
19 | # and the GNU General Public License along with this program. If not, see |
18 | # and the GNU General Public License along with this program. If not, see |
20 | # <http://www.gnu.org/licenses/>. |
19 | # <http://www.gnu.org/licenses/>. |
21 | # |
20 | # |
22 | # The authors can be reached via e-mail to <support@deliantra.net> |
21 | # The authors can be reached via e-mail to <support@deliantra.net> |
23 | # |
22 | # |
24 | |
23 | |
25 | my %ARG = @ARGV; |
24 | my %ARG = @ARGV; |
26 | |
25 | |
27 | use List::Util; |
26 | use List::Util; |
28 | |
27 | |
… | |
… | |
386 | authour |
385 | authour |
387 | size |
386 | size |
388 | index |
387 | index |
389 | ); |
388 | ); |
390 | |
389 | |
391 | open GPERF, "|-", "exec $ARG{GPERF} -m50 >kw_hash.h" |
390 | open GPERF, "|-", "exec $ARG{GPERF} -m50 >include/kw_hash.h" |
392 | or die "$ARGV{GPERF}: $!"; |
391 | or die "$ARGV{GPERF}: $!"; |
393 | |
392 | |
394 | print GPERF <<EOF; |
393 | print GPERF <<EOF; |
395 | %language=C++ |
394 | %language=C++ |
396 | %enum |
395 | %enum |
… | |
… | |
424 | join ", ", map length, @kw; |
423 | join ", ", map length, @kw; |
425 | |
424 | |
426 | close GPERF |
425 | close GPERF |
427 | or die "$ARG{GPERF}: failed to run"; |
426 | or die "$ARG{GPERF}: failed to run"; |
428 | |
427 | |
429 | open KW, ">", "keyword.h"; |
428 | open KW, ">", "include/keyword.h"; |
430 | |
429 | |
431 | print KW <<EOF; |
430 | print KW <<EOF; |
432 | // |
431 | // |
433 | // AUTOGENERATED: this is a generated file |
432 | // AUTOGENERATED: this is a generated file |
434 | // edit include/genkeywords instead |
433 | // edit include/genkeywords instead |