From 1886d63ef5986a3e613b4880dc7ae00636435e0a Mon Sep 17 00:00:00 2001 From: gumi Date: Fri, 12 Apr 2019 12:12:38 -0400 Subject: add gm automod tool --- out | 5612 ++++++++++++++++++++++++++++++++++++++++++++++++ src/map/clif.cpp | 89 + src/map/clif.hpp | 1 + src/map/map.hpp | 11 + src/map/pc.cpp | 33 + src/map/script-fun.cpp | 4 +- src/mmo/clif.t.hpp | 1 + 7 files changed, 5750 insertions(+), 1 deletion(-) create mode 100644 out diff --git a/out b/out new file mode 100644 index 0000000..2e3fd42 --- /dev/null +++ b/out @@ -0,0 +1,5612 @@ + +Welcome to the One Makefile +Copyright 2012-2014 Ben Longbons + +One Makefile to build them all, +One Makefile to find them, +One Makefile to bring them all +and in the darkness link them. + +rm -f stamp/generated.stamp +mkdir -p ./src/proto2 +cd . && protocol.py +touch stamp/generate-proto2.stamp +rm -f stamp/generated.stamp +mkdir -p ./src/debug-debug +rm -f ./src/debug-debug/test.cpp +debug-debug-scripts ./src/debug-debug/ src/compat/borrow.py src/compat/option.py src/generic/dumb_ptr.py src/ints/wrap.py src/map/map.py src/map/mapflag.py src/map/script-parse.py src/map/script-persist.py src/mmo/ids.py src/mmo/strs.py src/net/ip.py src/net/timer.py src/sexpr/parser.py src/sexpr/variant.py src/strings/astring.py src/strings/literal.py src/strings/rstring.py src/strings/vstring.py src/strings/xstring.py src/strings/zstring.py +touch stamp/generate-debug-debug.stamp +rm -f stamp/generated.stamp +cd . && config.py +touch stamp/generate-config.stamp +touch stamp/generated.stamp +Makefile:330: obj/admin/admin_conf.d: No such file or directory +Makefile:330: obj/admin/globals.d: No such file or directory +Makefile:330: obj/admin/ladmin.d: No such file or directory +Makefile:330: obj/admin/main.d: No such file or directory +Makefile:330: obj/ast/item.d: No such file or directory +Makefile:330: obj/ast/item_test.d: No such file or directory +Makefile:330: obj/ast/npc.d: No such file or directory +Makefile:330: obj/ast/npc_test.d: No such file or directory +Makefile:330: obj/ast/quest.d: No such file or directory +Makefile:330: obj/ast/script.d: No such file or directory +Makefile:330: obj/char/char.d: No such file or directory +Makefile:330: obj/char/char_conf.d: No such file or directory +Makefile:330: obj/char/char_lan_conf.d: No such file or directory +Makefile:330: obj/char/globals.d: No such file or directory +Makefile:330: obj/char/inter.d: No such file or directory +Makefile:330: obj/char/inter_conf.d: No such file or directory +Makefile:330: obj/char/int_party.d: No such file or directory +Makefile:330: obj/char/int_storage.d: No such file or directory +Makefile:330: obj/char/main.d: No such file or directory +Makefile:330: obj/compat/iter_test.d: No such file or directory +Makefile:330: obj/compat/nullpo.d: No such file or directory +Makefile:330: obj/compat/option_test.d: No such file or directory +Makefile:330: obj/compat/result_test.d: No such file or directory +Makefile:330: obj/debug-debug/compat-borrow.d: No such file or directory +Makefile:330: obj/debug-debug/compat-option.d: No such file or directory +Makefile:330: obj/debug-debug/generic-dumb_ptr.d: No such file or directory +Makefile:330: obj/debug-debug/ints-wrap.d: No such file or directory +Makefile:330: obj/debug-debug/map-map.d: No such file or directory +Makefile:330: obj/debug-debug/map-mapflag.d: No such file or directory +Makefile:330: obj/debug-debug/map-script-parse.d: No such file or directory +Makefile:330: obj/debug-debug/map-script-persist.d: No such file or directory +Makefile:330: obj/debug-debug/mmo-ids.d: No such file or directory +Makefile:330: obj/debug-debug/mmo-strs.d: No such file or directory +Makefile:330: obj/debug-debug/net-ip.d: No such file or directory +Makefile:330: obj/debug-debug/net-timer.d: No such file or directory +Makefile:330: obj/debug-debug/sexpr-parser.d: No such file or directory +Makefile:330: obj/debug-debug/sexpr-variant.d: No such file or directory +Makefile:330: obj/debug-debug/strings-astring.d: No such file or directory +Makefile:330: obj/debug-debug/strings-literal.d: No such file or directory +Makefile:330: obj/debug-debug/strings-rstring.d: No such file or directory +Makefile:330: obj/debug-debug/strings-vstring.d: No such file or directory +Makefile:330: obj/debug-debug/strings-xstring.d: No such file or directory +Makefile:330: obj/debug-debug/strings-zstring.d: No such file or directory +Makefile:330: obj/generic/array_test.d: No such file or directory +Makefile:330: obj/generic/intern-pool_test.d: No such file or directory +Makefile:330: obj/generic/md5.d: No such file or directory +Makefile:330: obj/generic/md5_test.d: No such file or directory +Makefile:330: obj/generic/oops.d: No such file or directory +Makefile:330: obj/generic/oops_test.d: No such file or directory +Makefile:330: obj/generic/random.d: No such file or directory +Makefile:330: obj/high/core.d: No such file or directory +Makefile:330: obj/high/extract_mmo.d: No such file or directory +Makefile:330: obj/high/md5more.d: No such file or directory +Makefile:330: obj/high/utils.d: No such file or directory +Makefile:330: obj/ints/cmp_test.d: No such file or directory +Makefile:330: obj/ints/udl_test.d: No such file or directory +Makefile:330: obj/io/dir.d: No such file or directory +Makefile:330: obj/io/extract.d: No such file or directory +Makefile:330: obj/io/extract_test.d: No such file or directory +Makefile:330: obj/io/fd.d: No such file or directory +Makefile:330: obj/io/line.d: No such file or directory +Makefile:330: obj/io/line_test.d: No such file or directory +Makefile:330: obj/io/lock.d: No such file or directory +Makefile:330: obj/io/read.d: No such file or directory +Makefile:330: obj/io/read_test.d: No such file or directory +Makefile:330: obj/io/span.d: No such file or directory +Makefile:330: obj/io/write.d: No such file or directory +Makefile:330: obj/io/write_test.d: No such file or directory +Makefile:330: obj/login/globals.d: No such file or directory +Makefile:330: obj/login/login.d: No such file or directory +Makefile:330: obj/login/login_conf.d: No such file or directory +Makefile:330: obj/login/login_lan_conf.d: No such file or directory +Makefile:330: obj/login/main.d: No such file or directory +Makefile:330: obj/map/atcommand.d: No such file or directory +Makefile:330: obj/map/battle.d: No such file or directory +Makefile:330: obj/map/battle_conf.d: No such file or directory +Makefile:330: obj/map/chrif.d: No such file or directory +Makefile:330: obj/map/clif.d: No such file or directory +Makefile:330: obj/map/globals.d: No such file or directory +Makefile:330: obj/map/grfio.d: No such file or directory +Makefile:330: obj/map/intif.d: No such file or directory +Makefile:330: obj/map/itemdb.d: No such file or directory +Makefile:330: obj/map/main.d: No such file or directory +Makefile:330: obj/map/map.d: No such file or directory +Makefile:330: obj/map/mapflag.d: No such file or directory +Makefile:330: obj/map/map_conf.d: No such file or directory +Makefile:330: obj/map/mob.d: No such file or directory +Makefile:330: obj/map/npc-parse.d: No such file or directory +Makefile:330: obj/map/npc.d: No such file or directory +Makefile:330: obj/map/party.d: No such file or directory +Makefile:330: obj/map/path.d: No such file or directory +Makefile:330: obj/map/pc.d: No such file or directory +Makefile:330: obj/map/quest.d: No such file or directory +Makefile:330: obj/map/script-call.d: No such file or directory +Makefile:330: obj/map/script-fun.d: No such file or directory +Makefile:330: obj/map/script-parse.d: No such file or directory +Makefile:330: obj/map/script-startup.d: No such file or directory +Makefile:330: obj/map/skill-pools.d: No such file or directory +Makefile:330: obj/map/skill.d: No such file or directory +Makefile:330: obj/map/storage.d: No such file or directory +Makefile:330: obj/map/tmw.d: No such file or directory +Makefile:330: obj/map/trade.d: No such file or directory +Makefile:330: obj/mmo/config_parse.d: No such file or directory +Makefile:330: obj/mmo/config_parse_test.d: No such file or directory +Makefile:330: obj/mmo/extract_enums.d: No such file or directory +Makefile:330: obj/mmo/human_time_diff.d: No such file or directory +Makefile:330: obj/mmo/human_time_diff_test.d: No such file or directory +Makefile:330: obj/mmo/ids.d: No such file or directory +Makefile:330: obj/mmo/strs.d: No such file or directory +Makefile:330: obj/mmo/version.d: No such file or directory +Makefile:330: obj/net/ip.d: No such file or directory +Makefile:330: obj/net/ip_test.d: No such file or directory +Makefile:330: obj/net/socket.d: No such file or directory +Makefile:330: obj/net/timer.d: No such file or directory +Makefile:330: obj/net/timestamp-utils.d: No such file or directory +Makefile:330: obj/range/slice_test.d: No such file or directory +Makefile:330: obj/sexpr/lexer.d: No such file or directory +Makefile:330: obj/sexpr/lexer_test.d: No such file or directory +Makefile:330: obj/sexpr/parser.d: No such file or directory +Makefile:330: obj/sexpr/parser_test.d: No such file or directory +Makefile:330: obj/sexpr/union_test.d: No such file or directory +Makefile:330: obj/sexpr/variant_test.d: No such file or directory +Makefile:330: obj/shared/lib.d: No such file or directory +Makefile:330: obj/strings/astring.d: No such file or directory +Makefile:330: obj/strings/base_test.d: No such file or directory +Makefile:330: obj/strings/literal.d: No such file or directory +Makefile:330: obj/strings/mstring.d: No such file or directory +Makefile:330: obj/strings/rstring.d: No such file or directory +Makefile:330: obj/strings/sstring.d: No such file or directory +Makefile:330: obj/strings/strings2_test.d: No such file or directory +Makefile:330: obj/strings/strings_test.d: No such file or directory +Makefile:330: obj/strings/tstring.d: No such file or directory +Makefile:330: obj/strings/xstring.d: No such file or directory +Makefile:330: obj/strings/zstring.d: No such file or directory +Makefile:330: obj/wire/packets.d: No such file or directory +g++-8 -std=c++0x -I . -I ./include -DGENERATING_DEPENDENCIES -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -MG -MM \ + -MT 'strings/zstring := ' \ + -MF obj/strings/zstring.d src/strings/zstring.cpp +g++-8 -std=c++0x -I . -I ./include -DGENERATING_DEPENDENCIES -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -MG -MM \ + -MT 'strings/strings_test := ' \ + -MF obj/strings/strings_test.d src/strings/strings_test.cpp +g++-8 -std=c++0x -I . -I ./include -DGENERATING_DEPENDENCIES -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -MG -MM \ + -MT 'strings/rstring := ' \ + -MF obj/strings/rstring.d src/strings/rstring.cpp +g++-8 -std=c++0x -I . -I ./include -DGENERATING_DEPENDENCIES -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -MG -MM \ + -MT 'shared/lib := ' \ + -MF obj/shared/lib.d src/shared/lib.cpp +g++-8 -std=c++0x -I . -I ./include -DGENERATING_DEPENDENCIES -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -MG -MM \ + -MT 'sexpr/lexer := ' \ + -MF obj/sexpr/lexer.d src/sexpr/lexer.cpp +g++-8 -std=c++0x -I . -I ./include -DGENERATING_DEPENDENCIES -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -MG -MM \ + -MT 'strings/sstring := ' \ + -MF obj/strings/sstring.d src/strings/sstring.cpp +g++-8 -std=c++0x -I . -I ./include -DGENERATING_DEPENDENCIES -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -MG -MM \ + -MT 'wire/packets := ' \ + -MF obj/wire/packets.d src/wire/packets.cpp +g++-8 -std=c++0x -I . -I ./include -DGENERATING_DEPENDENCIES -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -MG -MM \ + -MT 'sexpr/parser_test := ' \ + -MF obj/sexpr/parser_test.d src/sexpr/parser_test.cpp +g++-8 -std=c++0x -I . -I ./include -DGENERATING_DEPENDENCIES -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -MG -MM \ + -MT 'sexpr/union_test := ' \ + -MF obj/sexpr/union_test.d src/sexpr/union_test.cpp +g++-8 -std=c++0x -I . -I ./include -DGENERATING_DEPENDENCIES -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -MG -MM \ + -MT 'strings/strings2_test := ' \ + -MF obj/strings/strings2_test.d src/strings/strings2_test.cpp +g++-8 -std=c++0x -I . -I ./include -DGENERATING_DEPENDENCIES -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -MG -MM \ + -MT 'strings/base_test := ' \ + -MF obj/strings/base_test.d src/strings/base_test.cpp +g++-8 -std=c++0x -I . -I ./include -DGENERATING_DEPENDENCIES -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -MG -MM \ + -MT 'sexpr/variant_test := ' \ + -MF obj/sexpr/variant_test.d src/sexpr/variant_test.cpp +g++-8 -std=c++0x -I . -I ./include -DGENERATING_DEPENDENCIES -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -MG -MM \ + -MT 'sexpr/lexer_test := ' \ + -MF obj/sexpr/lexer_test.d src/sexpr/lexer_test.cpp +g++-8 -std=c++0x -I . -I ./include -DGENERATING_DEPENDENCIES -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -MG -MM \ + -MT 'strings/mstring := ' \ + -MF obj/strings/mstring.d src/strings/mstring.cpp +g++-8 -std=c++0x -I . -I ./include -DGENERATING_DEPENDENCIES -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -MG -MM \ + -MT 'strings/xstring := ' \ + -MF obj/strings/xstring.d src/strings/xstring.cpp +g++-8 -std=c++0x -I . -I ./include -DGENERATING_DEPENDENCIES -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -MG -MM \ + -MT 'sexpr/parser := ' \ + -MF obj/sexpr/parser.d src/sexpr/parser.cpp +g++-8 -std=c++0x -I . -I ./include -DGENERATING_DEPENDENCIES -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -MG -MM \ + -MT 'strings/astring := ' \ + -MF obj/strings/astring.d src/strings/astring.cpp +g++-8 -std=c++0x -I . -I ./include -DGENERATING_DEPENDENCIES -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -MG -MM \ + -MT 'strings/literal := ' \ + -MF obj/strings/literal.d src/strings/literal.cpp +g++-8 -std=c++0x -I . -I ./include -DGENERATING_DEPENDENCIES -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -MG -MM \ + -MT 'strings/tstring := ' \ + -MF obj/strings/tstring.d src/strings/tstring.cpp +g++-8 -std=c++0x -I . -I ./include -DGENERATING_DEPENDENCIES -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -MG -MM \ + -MT 'range/slice_test := ' \ + -MF obj/range/slice_test.d src/range/slice_test.cpp +g++-8 -std=c++0x -I . -I ./include -DGENERATING_DEPENDENCIES -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -MG -MM \ + -MT 'net/timer := ' \ + -MF obj/net/timer.d src/net/timer.cpp +g++-8 -std=c++0x -I . -I ./include -DGENERATING_DEPENDENCIES -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -MG -MM \ + -MT 'net/ip_test := ' \ + -MF obj/net/ip_test.d src/net/ip_test.cpp +g++-8 -std=c++0x -I . -I ./include -DGENERATING_DEPENDENCIES -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -MG -MM \ + -MT 'net/timestamp-utils := ' \ + -MF obj/net/timestamp-utils.d src/net/timestamp-utils.cpp +g++-8 -std=c++0x -I . -I ./include -DGENERATING_DEPENDENCIES -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -MG -MM \ + -MT 'net/socket := ' \ + -MF obj/net/socket.d src/net/socket.cpp +g++-8 -std=c++0x -I . -I ./include -DGENERATING_DEPENDENCIES -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -MG -MM \ + -MT 'mmo/strs := ' \ + -MF obj/mmo/strs.d src/mmo/strs.cpp +g++-8 -std=c++0x -I . -I ./include -DGENERATING_DEPENDENCIES -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -MG -MM \ + -MT 'mmo/version := ' \ + -MF obj/mmo/version.d src/mmo/version.cpp +g++-8 -std=c++0x -I . -I ./include -DGENERATING_DEPENDENCIES -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -MG -MM \ + -MT 'net/ip := ' \ + -MF obj/net/ip.d src/net/ip.cpp +g++-8 -std=c++0x -I . -I ./include -DGENERATING_DEPENDENCIES -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -MG -MM \ + -MT 'mmo/ids := ' \ + -MF obj/mmo/ids.d src/mmo/ids.cpp +g++-8 -std=c++0x -I . -I ./include -DGENERATING_DEPENDENCIES -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -MG -MM \ + -MT 'mmo/human_time_diff_test := ' \ + -MF obj/mmo/human_time_diff_test.d src/mmo/human_time_diff_test.cpp +g++-8 -std=c++0x -I . -I ./include -DGENERATING_DEPENDENCIES -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -MG -MM \ + -MT 'mmo/human_time_diff := ' \ + -MF obj/mmo/human_time_diff.d src/mmo/human_time_diff.cpp +g++-8 -std=c++0x -I . -I ./include -DGENERATING_DEPENDENCIES -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -MG -MM \ + -MT 'mmo/extract_enums := ' \ + -MF obj/mmo/extract_enums.d src/mmo/extract_enums.cpp +g++-8 -std=c++0x -I . -I ./include -DGENERATING_DEPENDENCIES -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -MG -MM \ + -MT 'mmo/config_parse_test := ' \ + -MF obj/mmo/config_parse_test.d src/mmo/config_parse_test.cpp +g++-8 -std=c++0x -I . -I ./include -DGENERATING_DEPENDENCIES -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -MG -MM \ + -MT 'mmo/config_parse := ' \ + -MF obj/mmo/config_parse.d src/mmo/config_parse.cpp +g++-8 -std=c++0x -I . -I ./include -DGENERATING_DEPENDENCIES -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -MG -MM \ + -MT 'map/trade := ' \ + -MF obj/map/trade.d src/map/trade.cpp +g++-8 -std=c++0x -I . -I ./include -DGENERATING_DEPENDENCIES -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -MG -MM \ + -MT 'map/tmw := ' \ + -MF obj/map/tmw.d src/map/tmw.cpp +g++-8 -std=c++0x -I . -I ./include -DGENERATING_DEPENDENCIES -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -MG -MM \ + -MT 'map/storage := ' \ + -MF obj/map/storage.d src/map/storage.cpp +g++-8 -std=c++0x -I . -I ./include -DGENERATING_DEPENDENCIES -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -MG -MM \ + -MT 'map/skill := ' \ + -MF obj/map/skill.d src/map/skill.cpp +g++-8 -std=c++0x -I . -I ./include -DGENERATING_DEPENDENCIES -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -MG -MM \ + -MT 'map/skill-pools := ' \ + -MF obj/map/skill-pools.d src/map/skill-pools.cpp +g++-8 -std=c++0x -I . -I ./include -DGENERATING_DEPENDENCIES -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -MG -MM \ + -MT 'map/script-startup := ' \ + -MF obj/map/script-startup.d src/map/script-startup.cpp +g++-8 -std=c++0x -I . -I ./include -DGENERATING_DEPENDENCIES -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -MG -MM \ + -MT 'map/script-parse := ' \ + -MF obj/map/script-parse.d src/map/script-parse.cpp +g++-8 -std=c++0x -I . -I ./include -DGENERATING_DEPENDENCIES -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -MG -MM \ + -MT 'map/script-fun := ' \ + -MF obj/map/script-fun.d src/map/script-fun.cpp +g++-8 -std=c++0x -I . -I ./include -DGENERATING_DEPENDENCIES -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -MG -MM \ + -MT 'map/script-call := ' \ + -MF obj/map/script-call.d src/map/script-call.cpp +g++-8 -std=c++0x -I . -I ./include -DGENERATING_DEPENDENCIES -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -MG -MM \ + -MT 'map/quest := ' \ + -MF obj/map/quest.d src/map/quest.cpp +g++-8 -std=c++0x -I . -I ./include -DGENERATING_DEPENDENCIES -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -MG -MM \ + -MT 'map/pc := ' \ + -MF obj/map/pc.d src/map/pc.cpp +g++-8 -std=c++0x -I . -I ./include -DGENERATING_DEPENDENCIES -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -MG -MM \ + -MT 'map/path := ' \ + -MF obj/map/path.d src/map/path.cpp +g++-8 -std=c++0x -I . -I ./include -DGENERATING_DEPENDENCIES -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -MG -MM \ + -MT 'map/party := ' \ + -MF obj/map/party.d src/map/party.cpp +g++-8 -std=c++0x -I . -I ./include -DGENERATING_DEPENDENCIES -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -MG -MM \ + -MT 'map/npc := ' \ + -MF obj/map/npc.d src/map/npc.cpp +g++-8 -std=c++0x -I . -I ./include -DGENERATING_DEPENDENCIES -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -MG -MM \ + -MT 'map/npc-parse := ' \ + -MF obj/map/npc-parse.d src/map/npc-parse.cpp +g++-8 -std=c++0x -I . -I ./include -DGENERATING_DEPENDENCIES -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -MG -MM \ + -MT 'map/mob := ' \ + -MF obj/map/mob.d src/map/mob.cpp +g++-8 -std=c++0x -I . -I ./include -DGENERATING_DEPENDENCIES -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -MG -MM \ + -MT 'map/map_conf := ' \ + -MF obj/map/map_conf.d src/map/map_conf.cpp +g++-8 -std=c++0x -I . -I ./include -DGENERATING_DEPENDENCIES -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -MG -MM \ + -MT 'map/mapflag := ' \ + -MF obj/map/mapflag.d src/map/mapflag.cpp +g++-8 -std=c++0x -I . -I ./include -DGENERATING_DEPENDENCIES -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -MG -MM \ + -MT 'map/map := ' \ + -MF obj/map/map.d src/map/map.cpp +g++-8 -std=c++0x -I . -I ./include -DGENERATING_DEPENDENCIES -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -MG -MM \ + -MT 'map/main := ' \ + -MF obj/map/main.d src/map/main.cpp +g++-8 -std=c++0x -I . -I ./include -DGENERATING_DEPENDENCIES -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -MG -MM \ + -MT 'map/itemdb := ' \ + -MF obj/map/itemdb.d src/map/itemdb.cpp +g++-8 -std=c++0x -I . -I ./include -DGENERATING_DEPENDENCIES -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -MG -MM \ + -MT 'map/grfio := ' \ + -MF obj/map/grfio.d src/map/grfio.cpp +g++-8 -std=c++0x -I . -I ./include -DGENERATING_DEPENDENCIES -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -MG -MM \ + -MT 'map/intif := ' \ + -MF obj/map/intif.d src/map/intif.cpp +g++-8 -std=c++0x -I . -I ./include -DGENERATING_DEPENDENCIES -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -MG -MM \ + -MT 'map/globals := ' \ + -MF obj/map/globals.d src/map/globals.cpp +g++-8 -std=c++0x -I . -I ./include -DGENERATING_DEPENDENCIES -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -MG -MM \ + -MT 'map/clif := ' \ + -MF obj/map/clif.d src/map/clif.cpp +g++-8 -std=c++0x -I . -I ./include -DGENERATING_DEPENDENCIES -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -MG -MM \ + -MT 'map/chrif := ' \ + -MF obj/map/chrif.d src/map/chrif.cpp +g++-8 -std=c++0x -I . -I ./include -DGENERATING_DEPENDENCIES -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -MG -MM \ + -MT 'map/battle_conf := ' \ + -MF obj/map/battle_conf.d src/map/battle_conf.cpp +g++-8 -std=c++0x -I . -I ./include -DGENERATING_DEPENDENCIES -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -MG -MM \ + -MT 'map/battle := ' \ + -MF obj/map/battle.d src/map/battle.cpp +g++-8 -std=c++0x -I . -I ./include -DGENERATING_DEPENDENCIES -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -MG -MM \ + -MT 'map/atcommand := ' \ + -MF obj/map/atcommand.d src/map/atcommand.cpp +g++-8 -std=c++0x -I . -I ./include -DGENERATING_DEPENDENCIES -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -MG -MM \ + -MT 'login/main := ' \ + -MF obj/login/main.d src/login/main.cpp +g++-8 -std=c++0x -I . -I ./include -DGENERATING_DEPENDENCIES -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -MG -MM \ + -MT 'login/login_lan_conf := ' \ + -MF obj/login/login_lan_conf.d src/login/login_lan_conf.cpp +g++-8 -std=c++0x -I . -I ./include -DGENERATING_DEPENDENCIES -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -MG -MM \ + -MT 'login/login_conf := ' \ + -MF obj/login/login_conf.d src/login/login_conf.cpp +g++-8 -std=c++0x -I . -I ./include -DGENERATING_DEPENDENCIES -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -MG -MM \ + -MT 'login/login := ' \ + -MF obj/login/login.d src/login/login.cpp +g++-8 -std=c++0x -I . -I ./include -DGENERATING_DEPENDENCIES -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -MG -MM \ + -MT 'login/globals := ' \ + -MF obj/login/globals.d src/login/globals.cpp +g++-8 -std=c++0x -I . -I ./include -DGENERATING_DEPENDENCIES -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -MG -MM \ + -MT 'io/write_test := ' \ + -MF obj/io/write_test.d src/io/write_test.cpp +g++-8 -std=c++0x -I . -I ./include -DGENERATING_DEPENDENCIES -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -MG -MM \ + -MT 'io/write := ' \ + -MF obj/io/write.d src/io/write.cpp +g++-8 -std=c++0x -I . -I ./include -DGENERATING_DEPENDENCIES -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -MG -MM \ + -MT 'io/span := ' \ + -MF obj/io/span.d src/io/span.cpp +g++-8 -std=c++0x -I . -I ./include -DGENERATING_DEPENDENCIES -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -MG -MM \ + -MT 'io/read_test := ' \ + -MF obj/io/read_test.d src/io/read_test.cpp +g++-8 -std=c++0x -I . -I ./include -DGENERATING_DEPENDENCIES -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -MG -MM \ + -MT 'io/read := ' \ + -MF obj/io/read.d src/io/read.cpp +g++-8 -std=c++0x -I . -I ./include -DGENERATING_DEPENDENCIES -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -MG -MM \ + -MT 'io/lock := ' \ + -MF obj/io/lock.d src/io/lock.cpp +g++-8 -std=c++0x -I . -I ./include -DGENERATING_DEPENDENCIES -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -MG -MM \ + -MT 'io/line_test := ' \ + -MF obj/io/line_test.d src/io/line_test.cpp +g++-8 -std=c++0x -I . -I ./include -DGENERATING_DEPENDENCIES -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -MG -MM \ + -MT 'io/fd := ' \ + -MF obj/io/fd.d src/io/fd.cpp +g++-8 -std=c++0x -I . -I ./include -DGENERATING_DEPENDENCIES -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -MG -MM \ + -MT 'io/line := ' \ + -MF obj/io/line.d src/io/line.cpp +g++-8 -std=c++0x -I . -I ./include -DGENERATING_DEPENDENCIES -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -MG -MM \ + -MT 'io/extract_test := ' \ + -MF obj/io/extract_test.d src/io/extract_test.cpp +g++-8 -std=c++0x -I . -I ./include -DGENERATING_DEPENDENCIES -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -MG -MM \ + -MT 'io/extract := ' \ + -MF obj/io/extract.d src/io/extract.cpp +g++-8 -std=c++0x -I . -I ./include -DGENERATING_DEPENDENCIES -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -MG -MM \ + -MT 'io/dir := ' \ + -MF obj/io/dir.d src/io/dir.cpp +g++-8 -std=c++0x -I . -I ./include -DGENERATING_DEPENDENCIES -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -MG -MM \ + -MT 'ints/udl_test := ' \ + -MF obj/ints/udl_test.d src/ints/udl_test.cpp +g++-8 -std=c++0x -I . -I ./include -DGENERATING_DEPENDENCIES -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -MG -MM \ + -MT 'ints/cmp_test := ' \ + -MF obj/ints/cmp_test.d src/ints/cmp_test.cpp +g++-8 -std=c++0x -I . -I ./include -DGENERATING_DEPENDENCIES -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -MG -MM \ + -MT 'high/utils := ' \ + -MF obj/high/utils.d src/high/utils.cpp +g++-8 -std=c++0x -I . -I ./include -DGENERATING_DEPENDENCIES -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -MG -MM \ + -MT 'high/md5more := ' \ + -MF obj/high/md5more.d src/high/md5more.cpp +g++-8 -std=c++0x -I . -I ./include -DGENERATING_DEPENDENCIES -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -MG -MM \ + -MT 'high/extract_mmo := ' \ + -MF obj/high/extract_mmo.d src/high/extract_mmo.cpp +g++-8 -std=c++0x -I . -I ./include -DGENERATING_DEPENDENCIES -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -MG -MM \ + -MT 'high/core := ' \ + -MF obj/high/core.d src/high/core.cpp +g++-8 -std=c++0x -I . -I ./include -DGENERATING_DEPENDENCIES -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -MG -MM \ + -MT 'generic/random := ' \ + -MF obj/generic/random.d src/generic/random.cpp +g++-8 -std=c++0x -I . -I ./include -DGENERATING_DEPENDENCIES -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -MG -MM \ + -MT 'generic/oops_test := ' \ + -MF obj/generic/oops_test.d src/generic/oops_test.cpp +g++-8 -std=c++0x -I . -I ./include -DGENERATING_DEPENDENCIES -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -MG -MM \ + -MT 'generic/oops := ' \ + -MF obj/generic/oops.d src/generic/oops.cpp +g++-8 -std=c++0x -I . -I ./include -DGENERATING_DEPENDENCIES -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -MG -MM \ + -MT 'generic/md5_test := ' \ + -MF obj/generic/md5_test.d src/generic/md5_test.cpp +g++-8 -std=c++0x -I . -I ./include -DGENERATING_DEPENDENCIES -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -MG -MM \ + -MT 'generic/md5 := ' \ + -MF obj/generic/md5.d src/generic/md5.cpp +g++-8 -std=c++0x -I . -I ./include -DGENERATING_DEPENDENCIES -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -MG -MM \ + -MT 'generic/intern-pool_test := ' \ + -MF obj/generic/intern-pool_test.d src/generic/intern-pool_test.cpp +g++-8 -std=c++0x -I . -I ./include -DGENERATING_DEPENDENCIES -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -MG -MM \ + -MT 'generic/array_test := ' \ + -MF obj/generic/array_test.d src/generic/array_test.cpp +g++-8 -std=c++0x -I . -I ./include -DGENERATING_DEPENDENCIES -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -MG -MM \ + -MT 'debug-debug/strings-zstring := ' \ + -MF obj/debug-debug/strings-zstring.d src/debug-debug/strings-zstring.cpp +g++-8 -std=c++0x -I . -I ./include -DGENERATING_DEPENDENCIES -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -MG -MM \ + -MT 'debug-debug/strings-xstring := ' \ + -MF obj/debug-debug/strings-xstring.d src/debug-debug/strings-xstring.cpp +g++-8 -std=c++0x -I . -I ./include -DGENERATING_DEPENDENCIES -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -MG -MM \ + -MT 'debug-debug/strings-vstring := ' \ + -MF obj/debug-debug/strings-vstring.d src/debug-debug/strings-vstring.cpp +g++-8 -std=c++0x -I . -I ./include -DGENERATING_DEPENDENCIES -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -MG -MM \ + -MT 'debug-debug/strings-rstring := ' \ + -MF obj/debug-debug/strings-rstring.d src/debug-debug/strings-rstring.cpp +g++-8 -std=c++0x -I . -I ./include -DGENERATING_DEPENDENCIES -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -MG -MM \ + -MT 'debug-debug/strings-literal := ' \ + -MF obj/debug-debug/strings-literal.d src/debug-debug/strings-literal.cpp +g++-8 -std=c++0x -I . -I ./include -DGENERATING_DEPENDENCIES -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -MG -MM \ + -MT 'debug-debug/strings-astring := ' \ + -MF obj/debug-debug/strings-astring.d src/debug-debug/strings-astring.cpp +g++-8 -std=c++0x -I . -I ./include -DGENERATING_DEPENDENCIES -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -MG -MM \ + -MT 'debug-debug/sexpr-variant := ' \ + -MF obj/debug-debug/sexpr-variant.d src/debug-debug/sexpr-variant.cpp +g++-8 -std=c++0x -I . -I ./include -DGENERATING_DEPENDENCIES -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -MG -MM \ + -MT 'debug-debug/sexpr-parser := ' \ + -MF obj/debug-debug/sexpr-parser.d src/debug-debug/sexpr-parser.cpp +g++-8 -std=c++0x -I . -I ./include -DGENERATING_DEPENDENCIES -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -MG -MM \ + -MT 'debug-debug/net-timer := ' \ + -MF obj/debug-debug/net-timer.d src/debug-debug/net-timer.cpp +g++-8 -std=c++0x -I . -I ./include -DGENERATING_DEPENDENCIES -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -MG -MM \ + -MT 'debug-debug/net-ip := ' \ + -MF obj/debug-debug/net-ip.d src/debug-debug/net-ip.cpp +g++-8 -std=c++0x -I . -I ./include -DGENERATING_DEPENDENCIES -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -MG -MM \ + -MT 'debug-debug/mmo-strs := ' \ + -MF obj/debug-debug/mmo-strs.d src/debug-debug/mmo-strs.cpp +g++-8 -std=c++0x -I . -I ./include -DGENERATING_DEPENDENCIES -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -MG -MM \ + -MT 'debug-debug/mmo-ids := ' \ + -MF obj/debug-debug/mmo-ids.d src/debug-debug/mmo-ids.cpp +g++-8 -std=c++0x -I . -I ./include -DGENERATING_DEPENDENCIES -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -MG -MM \ + -MT 'debug-debug/map-script-persist := ' \ + -MF obj/debug-debug/map-script-persist.d src/debug-debug/map-script-persist.cpp +g++-8 -std=c++0x -I . -I ./include -DGENERATING_DEPENDENCIES -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -MG -MM \ + -MT 'debug-debug/map-script-parse := ' \ + -MF obj/debug-debug/map-script-parse.d src/debug-debug/map-script-parse.cpp +g++-8 -std=c++0x -I . -I ./include -DGENERATING_DEPENDENCIES -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -MG -MM \ + -MT 'debug-debug/map-mapflag := ' \ + -MF obj/debug-debug/map-mapflag.d src/debug-debug/map-mapflag.cpp +g++-8 -std=c++0x -I . -I ./include -DGENERATING_DEPENDENCIES -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -MG -MM \ + -MT 'debug-debug/map-map := ' \ + -MF obj/debug-debug/map-map.d src/debug-debug/map-map.cpp +g++-8 -std=c++0x -I . -I ./include -DGENERATING_DEPENDENCIES -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -MG -MM \ + -MT 'debug-debug/ints-wrap := ' \ + -MF obj/debug-debug/ints-wrap.d src/debug-debug/ints-wrap.cpp +g++-8 -std=c++0x -I . -I ./include -DGENERATING_DEPENDENCIES -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -MG -MM \ + -MT 'debug-debug/generic-dumb_ptr := ' \ + -MF obj/debug-debug/generic-dumb_ptr.d src/debug-debug/generic-dumb_ptr.cpp +g++-8 -std=c++0x -I . -I ./include -DGENERATING_DEPENDENCIES -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -MG -MM \ + -MT 'debug-debug/compat-option := ' \ + -MF obj/debug-debug/compat-option.d src/debug-debug/compat-option.cpp +g++-8 -std=c++0x -I . -I ./include -DGENERATING_DEPENDENCIES -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -MG -MM \ + -MT 'debug-debug/compat-borrow := ' \ + -MF obj/debug-debug/compat-borrow.d src/debug-debug/compat-borrow.cpp +g++-8 -std=c++0x -I . -I ./include -DGENERATING_DEPENDENCIES -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -MG -MM \ + -MT 'compat/result_test := ' \ + -MF obj/compat/result_test.d src/compat/result_test.cpp +g++-8 -std=c++0x -I . -I ./include -DGENERATING_DEPENDENCIES -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -MG -MM \ + -MT 'compat/option_test := ' \ + -MF obj/compat/option_test.d src/compat/option_test.cpp +g++-8 -std=c++0x -I . -I ./include -DGENERATING_DEPENDENCIES -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -MG -MM \ + -MT 'compat/nullpo := ' \ + -MF obj/compat/nullpo.d src/compat/nullpo.cpp +g++-8 -std=c++0x -I . -I ./include -DGENERATING_DEPENDENCIES -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -MG -MM \ + -MT 'compat/iter_test := ' \ + -MF obj/compat/iter_test.d src/compat/iter_test.cpp +g++-8 -std=c++0x -I . -I ./include -DGENERATING_DEPENDENCIES -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -MG -MM \ + -MT 'char/main := ' \ + -MF obj/char/main.d src/char/main.cpp +g++-8 -std=c++0x -I . -I ./include -DGENERATING_DEPENDENCIES -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -MG -MM \ + -MT 'char/int_storage := ' \ + -MF obj/char/int_storage.d src/char/int_storage.cpp +g++-8 -std=c++0x -I . -I ./include -DGENERATING_DEPENDENCIES -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -MG -MM \ + -MT 'char/int_party := ' \ + -MF obj/char/int_party.d src/char/int_party.cpp +g++-8 -std=c++0x -I . -I ./include -DGENERATING_DEPENDENCIES -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -MG -MM \ + -MT 'char/inter_conf := ' \ + -MF obj/char/inter_conf.d src/char/inter_conf.cpp +g++-8 -std=c++0x -I . -I ./include -DGENERATING_DEPENDENCIES -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -MG -MM \ + -MT 'char/inter := ' \ + -MF obj/char/inter.d src/char/inter.cpp +g++-8 -std=c++0x -I . -I ./include -DGENERATING_DEPENDENCIES -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -MG -MM \ + -MT 'char/globals := ' \ + -MF obj/char/globals.d src/char/globals.cpp +g++-8 -std=c++0x -I . -I ./include -DGENERATING_DEPENDENCIES -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -MG -MM \ + -MT 'char/char_lan_conf := ' \ + -MF obj/char/char_lan_conf.d src/char/char_lan_conf.cpp +g++-8 -std=c++0x -I . -I ./include -DGENERATING_DEPENDENCIES -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -MG -MM \ + -MT 'char/char_conf := ' \ + -MF obj/char/char_conf.d src/char/char_conf.cpp +g++-8 -std=c++0x -I . -I ./include -DGENERATING_DEPENDENCIES -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -MG -MM \ + -MT 'char/char := ' \ + -MF obj/char/char.d src/char/char.cpp +g++-8 -std=c++0x -I . -I ./include -DGENERATING_DEPENDENCIES -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -MG -MM \ + -MT 'ast/script := ' \ + -MF obj/ast/script.d src/ast/script.cpp +g++-8 -std=c++0x -I . -I ./include -DGENERATING_DEPENDENCIES -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -MG -MM \ + -MT 'ast/quest := ' \ + -MF obj/ast/quest.d src/ast/quest.cpp +g++-8 -std=c++0x -I . -I ./include -DGENERATING_DEPENDENCIES -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -MG -MM \ + -MT 'ast/npc_test := ' \ + -MF obj/ast/npc_test.d src/ast/npc_test.cpp +g++-8 -std=c++0x -I . -I ./include -DGENERATING_DEPENDENCIES -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -MG -MM \ + -MT 'ast/npc := ' \ + -MF obj/ast/npc.d src/ast/npc.cpp +g++-8 -std=c++0x -I . -I ./include -DGENERATING_DEPENDENCIES -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -MG -MM \ + -MT 'ast/item_test := ' \ + -MF obj/ast/item_test.d src/ast/item_test.cpp +g++-8 -std=c++0x -I . -I ./include -DGENERATING_DEPENDENCIES -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -MG -MM \ + -MT 'ast/item := ' \ + -MF obj/ast/item.d src/ast/item.cpp +g++-8 -std=c++0x -I . -I ./include -DGENERATING_DEPENDENCIES -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -MG -MM \ + -MT 'admin/main := ' \ + -MF obj/admin/main.d src/admin/main.cpp +g++-8 -std=c++0x -I . -I ./include -DGENERATING_DEPENDENCIES -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -MG -MM \ + -MT 'admin/ladmin := ' \ + -MF obj/admin/ladmin.d src/admin/ladmin.cpp +g++-8 -std=c++0x -I . -I ./include -DGENERATING_DEPENDENCIES -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -MG -MM \ + -MT 'admin/globals := ' \ + -MF obj/admin/globals.d src/admin/globals.cpp +g++-8 -std=c++0x -I . -I ./include -DGENERATING_DEPENDENCIES -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -MG -MM \ + -MT 'admin/admin_conf := ' \ + -MF obj/admin/admin_conf.d src/admin/admin_conf.cpp +The Road goes ever on and on ... +make: 'stamp/generated.stamp' is up to date. +cmp: conf-raw/int-VENDOR_POINT.h: No such file or directory +cmp: conf-raw/int-VERSION_MINOR.h: No such file or directory +cmp: conf-raw/str-VENDOR_NAME.hcmp: conf-raw/str-PACKAGELOCALSTATEDIR.h: No such file or directory +: No such file or directory +cmp: conf-raw/int-VERSION_MAJOR.hcmp: conf-raw/str-VENDOR_SOURCE.h: No such file or directory +: No such file or directory +cmp: conf-raw/str-PACKAGESYSCONFDIR.h: No such file or directory +cmp: conf-raw/int-VERSION_DEVEL.h: No such file or directory +cmp: conf-raw/str-VERSION_HASH.h: No such file or directory +cmp: conf-raw/str-VERSION_STRING.h: No such file or directory +cmp: conf-raw/int-VERSION_PATCH.h: No such file or directory +cmp: conf-raw/str-VERSION_FULL.h: No such file or directory +cmp: conf-raw/str-PACKAGEDATADIR.h: No such file or directory +cat src/main-gdb-head.py \ + src/compat/borrow.py src/compat/option.py src/generic/dumb_ptr.py src/ints/wrap.py src/mmo/ids.py src/mmo/strs.py src/net/ip.py src/strings/astring.py src/strings/literal.py src/strings/rstring.py src/strings/vstring.py src/strings/xstring.py src/strings/zstring.py src/net/timer.py \ + src/main-gdb-tail.py \ + > bin/tmwa-admin-gdb.py +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -c -o obj/io/dir.pdc.o src/io/dir.cpp +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -c -o obj/io/read.pdc.o src/io/read.cpp +ln -sf tmwa-admin-gdb.py bin/tmwa-admin.elf-gdb.py +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -c -o obj/io/span.pdc.o src/io/span.cpp +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -c -o obj/admin/admin_conf.pdc.o src/admin/admin_conf.cpp +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -c -o obj/io/write.pdc.o src/io/write.cpp +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -c -o obj/admin/ladmin.pdc.o src/admin/ladmin.cpp +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -c -o obj/mmo/version.pdc.o src/mmo/version.cpp +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -c -o obj/mmo/config_parse.pdc.o src/mmo/config_parse.cpp +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -c -o obj/high/core.pdc.o src/high/core.cpp +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -c -o obj/admin/main.pdc.o src/admin/main.cpp +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -c -o obj/io/fd.pdc.o src/io/fd.cpp +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -c -o obj/io/extract.pdc.o src/io/extract.cpp +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -c -o obj/mmo/strs.pdc.o src/mmo/strs.cpp +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -c -o obj/generic/oops.pdc.o src/generic/oops.cpp +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -c -o obj/mmo/human_time_diff.pdc.o src/mmo/human_time_diff.cpp +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -c -o obj/net/ip.pdc.o src/net/ip.cpp +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -c -o obj/high/utils.pdc.o src/high/utils.cpp +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -c -o obj/mmo/ids.pdc.o src/mmo/ids.cpp +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -c -o obj/admin/globals.pdc.o src/admin/globals.cpp +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -c -o obj/net/socket.pdc.o src/net/socket.cpp +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -c -o obj/net/timestamp-utils.pdc.o src/net/timestamp-utils.cpp +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -c -o obj/strings/astring.pdc.o src/strings/astring.cpp +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -c -o obj/strings/literal.pdc.o src/strings/literal.cpp +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -c -o obj/strings/mstring.pdc.o src/strings/mstring.cpp +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -c -o obj/strings/rstring.pdc.o src/strings/rstring.cpp +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -c -o obj/strings/tstring.pdc.o src/strings/tstring.cpp +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -c -o obj/strings/sstring.pdc.o src/strings/sstring.cpp +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -c -o obj/strings/xstring.pdc.o src/strings/xstring.cpp +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -c -o obj/strings/zstring.pdc.o src/strings/zstring.cpp +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -c -o obj/wire/packets.pdc.o src/wire/packets.cpp +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -c -o obj/high/extract_mmo.pdc.o src/high/extract_mmo.cpp +cat ./src/main-gdb-head.py \ + src/strings/astring.py src/strings/literal.py src/strings/rstring.py src/strings/vstring.py src/strings/xstring.py src/strings/zstring.py \ + ./src/main-gdb-tail.py \ + > lib/libtmwa-shared.so.0.18.12.30.6.0-gdb.py +In file included from src/admin/ladmin.cpp:37: +src/admin/../io/cxxstdio.hpp: In instantiation of ‘static int tmwa::cxxstdio::PrintFormatter::print(T&&, A&& ...) [with T = tmwa::strings::AString&; A = {}; Format = tmwa::do_init(tmwa::Slice)::format_impl]’: +src/admin/ladmin.cpp:2550:5: required from here +src/admin/../io/cxxstdio.hpp:79:28: warning: zero-length gnu_printf format string [-Wformat-zero-length] + return do_print(std::forward(t), print_format, + ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + decay_for_printf(convert_for_printf(std::forward(a)))...); + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -c -o obj/mmo/extract_enums.pdc.o src/mmo/extract_enums.cpp +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -c -o obj/io/line.pdc.o src/io/line.cpp +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -c -o obj/net/timer.pdc.o src/net/timer.cpp +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -fPIC -c -o obj/shared/lib.pic.o src/shared/lib.cpp +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -fPIC -c -o obj/io/dir.pic.o src/io/dir.cpp +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -fPIC -c -o obj/io/fd.pic.o src/io/fd.cpp +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -fPIC -c -o obj/io/write.pic.o src/io/write.cpp +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -fPIC -c -o obj/io/read.pic.o src/io/read.cpp +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -fPIC -c -o obj/strings/astring.pic.o src/strings/astring.cpp +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -fPIC -c -o obj/strings/literal.pic.o src/strings/literal.cpp +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -fPIC -c -o obj/strings/mstring.pic.o src/strings/mstring.cpp +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -fPIC -c -o obj/strings/rstring.pic.o src/strings/rstring.cpp +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -fPIC -c -o obj/strings/sstring.pic.o src/strings/sstring.cpp +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -fPIC -c -o obj/strings/tstring.pic.o src/strings/tstring.cpp +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -fPIC -c -o obj/strings/xstring.pic.o src/strings/xstring.cpp +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -fPIC -c -o obj/strings/zstring.pic.o src/strings/zstring.cpp +cat src/main-gdb-head.py \ + src/compat/borrow.py src/compat/option.py src/generic/dumb_ptr.py src/ints/wrap.py src/mmo/ids.py src/mmo/strs.py src/net/ip.py src/strings/astring.py src/strings/literal.py src/strings/rstring.py src/strings/vstring.py src/strings/xstring.py src/strings/zstring.py src/net/timer.py \ + src/main-gdb-tail.py \ + > bin/tmwa-char-gdb.py +ln -sf tmwa-char-gdb.py bin/tmwa-char.elf-gdb.py +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -c -o obj/char/char.pdc.o src/char/char.cpp +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -c -o obj/char/main.pdc.o src/char/main.cpp +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -c -o obj/char/char_lan_conf.pdc.o src/char/char_lan_conf.cpp +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -c -o obj/char/char_conf.pdc.o src/char/char_conf.cpp +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -c -o obj/char/globals.pdc.o src/char/globals.cpp +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -c -o obj/char/int_party.pdc.o src/char/int_party.cpp +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -c -o obj/char/int_storage.pdc.o src/char/int_storage.cpp +cat src/main-gdb-head.py \ + src/compat/borrow.py src/compat/option.py src/generic/dumb_ptr.py src/ints/wrap.py src/mmo/ids.py src/mmo/strs.py src/net/ip.py src/strings/astring.py src/strings/literal.py src/strings/rstring.py src/strings/vstring.py src/strings/xstring.py src/strings/zstring.py src/net/timer.py \ + src/main-gdb-tail.py \ + > bin/tmwa-login-gdb.py +ln -sf tmwa-login-gdb.py bin/tmwa-login.elf-gdb.py +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -c -o obj/char/inter_conf.pdc.o src/char/inter_conf.cpp +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -c -o obj/char/inter.pdc.o src/char/inter.cpp +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -c -o obj/io/lock.pdc.o src/io/lock.cpp +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -c -o obj/login/main.pdc.o src/login/main.cpp +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -c -o obj/login/login.pdc.o src/login/login.cpp +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -c -o obj/generic/md5.pdc.o src/generic/md5.cpp +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -c -o obj/generic/random.pdc.o src/generic/random.cpp +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -c -o obj/high/md5more.pdc.o src/high/md5more.cpp +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -c -o obj/login/globals.pdc.o src/login/globals.cpp +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -c -o obj/login/login_conf.pdc.o src/login/login_conf.cpp +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -c -o obj/login/login_lan_conf.pdc.o src/login/login_lan_conf.cpp +cat src/main-gdb-head.py \ + src/compat/borrow.py src/compat/option.py src/generic/dumb_ptr.py src/ints/wrap.py src/map/map.py src/map/mapflag.py src/map/script-persist.py src/mmo/ids.py src/mmo/strs.py src/net/ip.py src/sexpr/variant.py src/strings/astring.py src/strings/literal.py src/strings/rstring.py src/strings/vstring.py src/strings/xstring.py src/strings/zstring.py src/net/timer.py src/map/script-parse.py \ + src/main-gdb-tail.py \ + > bin/tmwa-map-gdb.py +g++-8 -std=c++0x -shared -Wl,-soname=libtmwa-shared.so.0 -fuse-ld=gold obj/shared/lib.pic.o obj/io/dir.pic.o obj/io/fd.pic.o obj/io/read.pic.o obj/io/write.pic.o obj/strings/astring.pic.o obj/strings/literal.pic.o obj/strings/mstring.pic.o obj/strings/rstring.pic.o obj/strings/sstring.pic.o obj/strings/tstring.pic.o obj/strings/xstring.pic.o obj/strings/zstring.pic.o -o lib/libtmwa-shared.so.0.18.12.30.6.0 +ln -sf tmwa-map-gdb.py bin/tmwa-map.elf-gdb.py +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -c -o obj/map/main.pdc.o src/map/main.cpp +ln -sfT libtmwa-shared.so.0.18.12.30.6.0 lib/libtmwa-shared.so.0 +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -c -o obj/map/map.pdc.o src/map/map.cpp +ln -sfT libtmwa-shared.so.0 lib/libtmwa-shared.so +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -c -o obj/map/mapflag.pdc.o src/map/mapflag.cpp +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -c -o obj/compat/nullpo.pdc.o src/compat/nullpo.cpp +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -c -o obj/map/atcommand.pdc.o src/map/atcommand.cpp +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -c -o obj/map/battle.pdc.o src/map/battle.cpp +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -c -o obj/map/battle_conf.pdc.o src/map/battle_conf.cpp +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -c -o obj/map/chrif.pdc.o src/map/chrif.cpp +src/char/char.cpp: In function ‘int tmwa::char_::set_account_reg2(tmwa::AccountId, tmwa::Slice)’: +src/char/char.cpp:1035:49: warning: ‘T& tmwa::Slice::operator[](size_t) [with T = tmwa::GlobalReg; size_t = long unsigned int]’ is deprecated: use iterators instead [-Wdeprecated-declarations] + cd.data->account_reg2[i] = reg[i]; + ^ +In file included from src/char/../high/../range/slice.hpp:74, + from src/char/../high/core.hpp:25, + from src/char/char.cpp:76: +src/char/../high/../range/slice.tcc:158:4: note: declared here + T& Slice::operator[](size_t o) + ^~~~~~~~ +src/char/char.cpp: In function ‘void tmwa::char_::parse_tologin(tmwa::Session*)’: +src/char/char.cpp:1383:59: warning: ‘O tmwa::strings::_crtp_string::to_print() const [with T = tmwa::strings::AString; O = tmwa::strings::AString; P = tmwa::strings::ZPair]’ is deprecated [-Wdeprecated-declarations] + AString message = repeat.to_print().lstrip(); + ^ +In file included from src/char/../high/../proto2/../mmo/../strings/base.hpp:201, + from src/char/../high/../proto2/../mmo/../strings/vstring.hpp:25, + from src/char/../high/../proto2/../mmo/strs.hpp:25, + from src/char/../high/../proto2/../mmo/consts.hpp:28, + from src/char/../high/../proto2/../mmo/clif.t.hpp:33, + from src/char/../high/../proto2/net-CharData.hpp:24, + from src/char/../high/mmo.hpp:28, + from src/char/char.hpp:31, + from src/char/char.cpp:1: +src/char/../high/../proto2/../mmo/../strings/base.tcc:280:7: note: declared here + O _crtp_string::to_print() const + ^~~~~~~~~~~~~~~~~~~~~ +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -c -o obj/map/clif.pdc.o src/map/clif.cpp +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -c -o obj/map/globals.pdc.o src/map/globals.cpp +src/login/login.cpp: In function ‘void tmwa::login::parse_fromchar(tmwa::Session*)’: +src/login/login.cpp:942:98: warning: ‘O tmwa::strings::_crtp_string::to_print() const [with T = tmwa::strings::VString<39>; O = tmwa::strings::VString<39>; P = tmwa::strings::ZPair]’ is deprecated [-Wdeprecated-declarations] + AccountEmail actual_email = stringish(fixed.old_email.to_print()); + ^ +In file included from src/login/../strings/base.hpp:201, + from src/login/../strings/vstring.hpp:25, + from src/login/login.hpp:23, + from src/login/login.cpp:1: +src/login/../strings/base.tcc:280:7: note: declared here + O _crtp_string::to_print() const + ^~~~~~~~~~~~~~~~~~~~~ +In file included from src/char/char.cpp:52: +src/char/../io/cxxstdio.hpp: In instantiation of ‘static int tmwa::cxxstdio::PrintFormatter::print(T&&, A&& ...) [with T = tmwa::strings::AString&; A = {}; Format = tmwa::do_init(tmwa::Slice)::format_impl]’: +src/char/char.cpp:2894:5: required from here +src/char/../io/cxxstdio.hpp:79:28: warning: zero-length gnu_printf format string [-Wformat-zero-length] + return do_print(std::forward(t), print_format, + ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + decay_for_printf(convert_for_printf(std::forward(a)))...); + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +src/login/login.cpp:1208:94: warning: ‘O tmwa::strings::_crtp_string::to_print() const [with T = tmwa::strings::VString<23>; O = tmwa::strings::VString<23>; P = tmwa::strings::ZPair]’ is deprecated [-Wdeprecated-declarations] + AccountPass actual_pass = stringish(fixed.old_pass.to_print()); + ^ +In file included from src/login/../strings/base.hpp:201, + from src/login/../strings/vstring.hpp:25, + from src/login/login.hpp:23, + from src/login/login.cpp:1: +src/login/../strings/base.tcc:280:7: note: declared here + O _crtp_string::to_print() const + ^~~~~~~~~~~~~~~~~~~~~ +src/login/login.cpp:1209:91: warning: ‘O tmwa::strings::_crtp_string::to_print() const [with T = tmwa::strings::VString<23>; O = tmwa::strings::VString<23>; P = tmwa::strings::ZPair]’ is deprecated [-Wdeprecated-declarations] + AccountPass new_pass = stringish(fixed.new_pass.to_print()); + ^ +In file included from src/login/../strings/base.hpp:201, + from src/login/../strings/vstring.hpp:25, + from src/login/login.hpp:23, + from src/login/login.cpp:1: +src/login/../strings/base.tcc:280:7: note: declared here + O _crtp_string::to_print() const + ^~~~~~~~~~~~~~~~~~~~~ +src/login/login.cpp: In function ‘void tmwa::login::parse_admin(tmwa::Session*)’: +src/login/login.cpp:1448:84: warning: ‘O tmwa::strings::_crtp_string::to_print() const [with T = tmwa::strings::VString<23>; O = tmwa::strings::VString<23>; P = tmwa::strings::ZPair]’ is deprecated [-Wdeprecated-declarations] + ma.userid = stringish(fixed.account_name.to_print()); + ^ +In file included from src/login/../strings/base.hpp:201, + from src/login/../strings/vstring.hpp:25, + from src/login/login.hpp:23, + from src/login/login.cpp:1: +src/login/../strings/base.tcc:280:7: note: declared here + O _crtp_string::to_print() const + ^~~~~~~~~~~~~~~~~~~~~ +src/login/login.cpp:1449:80: warning: ‘O tmwa::strings::_crtp_string::to_print() const [with T = tmwa::strings::VString<23>; O = tmwa::strings::VString<23>; P = tmwa::strings::ZPair]’ is deprecated [-Wdeprecated-declarations] + ma.passwd = stringish(fixed.password.to_print()); + ^ +In file included from src/login/../strings/base.hpp:201, + from src/login/../strings/vstring.hpp:25, + from src/login/login.hpp:23, + from src/login/login.cpp:1: +src/login/../strings/base.tcc:280:7: note: declared here + O _crtp_string::to_print() const + ^~~~~~~~~~~~~~~~~~~~~ +src/login/login.cpp:1506:95: warning: ‘O tmwa::strings::_crtp_string::to_print() const [with T = tmwa::strings::VString<23>; O = tmwa::strings::VString<23>; P = tmwa::strings::ZPair]’ is deprecated [-Wdeprecated-declarations] + AccountName account_name = stringish(fixed.account_name.to_print()); + ^ +In file included from src/login/../strings/base.hpp:201, + from src/login/../strings/vstring.hpp:25, + from src/login/login.hpp:23, + from src/login/login.cpp:1: +src/login/../strings/base.tcc:280:7: note: declared here + O _crtp_string::to_print() const + ^~~~~~~~~~~~~~~~~~~~~ +src/login/login.cpp:1553:95: warning: ‘O tmwa::strings::_crtp_string::to_print() const [with T = tmwa::strings::VString<23>; O = tmwa::strings::VString<23>; P = tmwa::strings::ZPair]’ is deprecated [-Wdeprecated-declarations] + AccountName account_name = stringish(fixed.account_name.to_print()); + ^ +In file included from src/login/../strings/base.hpp:201, + from src/login/../strings/vstring.hpp:25, + from src/login/login.hpp:23, + from src/login/login.cpp:1: +src/login/../strings/base.tcc:280:7: note: declared here + O _crtp_string::to_print() const + ^~~~~~~~~~~~~~~~~~~~~ +src/login/login.cpp:1584:99: warning: ‘O tmwa::strings::_crtp_string::to_print() const [with T = tmwa::strings::VString<23>; O = tmwa::strings::VString<23>; P = tmwa::strings::ZPair]’ is deprecated [-Wdeprecated-declarations] + AccountName account_name = stringish(fixed.account_name.to_print()); + ^ +In file included from src/login/../strings/base.hpp:201, + from src/login/../strings/vstring.hpp:25, + from src/login/login.hpp:23, + from src/login/login.cpp:1: +src/login/../strings/base.tcc:280:7: note: declared here + O _crtp_string::to_print() const + ^~~~~~~~~~~~~~~~~~~~~ +src/login/login.cpp:1586:127: warning: ‘O tmwa::strings::_crtp_string::to_print() const [with T = tmwa::strings::VString<19>; O = tmwa::strings::VString<19>; P = tmwa::strings::ZPair]’ is deprecated [-Wdeprecated-declarations] + timestamp_seconds_buffer error_message = stringish(fixed.error_message.to_print()); + ^ +In file included from src/login/../strings/base.hpp:201, + from src/login/../strings/vstring.hpp:25, + from src/login/login.hpp:23, + from src/login/login.cpp:1: +src/login/../strings/base.tcc:280:7: note: declared here + O _crtp_string::to_print() const + ^~~~~~~~~~~~~~~~~~~~~ +src/login/login.cpp:1674:95: warning: ‘O tmwa::strings::_crtp_string::to_print() const [with T = tmwa::strings::VString<23>; O = tmwa::strings::VString<23>; P = tmwa::strings::ZPair]’ is deprecated [-Wdeprecated-declarations] + AccountName account_name = stringish(fixed.account_name.to_print()); + ^ +In file included from src/login/../strings/base.hpp:201, + from src/login/../strings/vstring.hpp:25, + from src/login/login.hpp:23, + from src/login/login.cpp:1: +src/login/../strings/base.tcc:280:7: note: declared here + O _crtp_string::to_print() const + ^~~~~~~~~~~~~~~~~~~~~ +In file included from src/login/login.cpp:47: +src/login/login.cpp:1690:59: warning: ‘O tmwa::strings::_crtp_string::to_print() const [with T = tmwa::strings::VString<23>; O = tmwa::strings::VString<23>; P = tmwa::strings::ZPair]’ is deprecated [-Wdeprecated-declarations] + ad->userid, pass.to_print(), ip); + ^ +src/login/../io/cxxstdio.hpp:91:62: note: in definition of macro ‘XPRINTF’ + cxxstdio::PrintFormatter::print(out, ## __VA_ARGS__); \ + ^~~~~~~~~~~ +src/login/../io/cxxstdio.hpp:102:9: note: in expansion of macro ‘SPRINTF’ + SPRINTF(_out_impl, fmt, ## __VA_ARGS__); \ + ^~~~~~~ +src/login/login.cpp:146:28: note: in expansion of macro ‘STRPRINTF’ + tmwa::login::login_log(STRPRINTF(fmt, ## __VA_ARGS__)) + ^~~~~~~~~ +src/login/login.cpp:1689:25: note: in expansion of macro ‘LOGIN_LOG’ + LOGIN_LOG("'ladmin': Failure of password check (account: %s, proposed pass: %s, ip: %s)\n"_fmt, + ^~~~~~~~~ +In file included from src/login/../strings/base.hpp:201, + from src/login/../strings/vstring.hpp:25, + from src/login/login.hpp:23, + from src/login/login.cpp:1: +src/login/../strings/base.tcc:280:7: note: declared here + O _crtp_string::to_print() const + ^~~~~~~~~~~~~~~~~~~~~ +src/login/login.cpp:1712:95: warning: ‘O tmwa::strings::_crtp_string::to_print() const [with T = tmwa::strings::VString<23>; O = tmwa::strings::VString<23>; P = tmwa::strings::ZPair]’ is deprecated [-Wdeprecated-declarations] + AccountName account_name = stringish(fixed.account_name.to_print()); + ^ +In file included from src/login/../strings/base.hpp:201, + from src/login/../strings/vstring.hpp:25, + from src/login/login.hpp:23, + from src/login/login.cpp:1: +src/login/../strings/base.tcc:280:7: note: declared here + O _crtp_string::to_print() const + ^~~~~~~~~~~~~~~~~~~~~ +src/login/login.cpp:1771:95: warning: ‘O tmwa::strings::_crtp_string::to_print() const [with T = tmwa::strings::VString<23>; O = tmwa::strings::VString<23>; P = tmwa::strings::ZPair]’ is deprecated [-Wdeprecated-declarations] + AccountName account_name = stringish(fixed.account_name.to_print()); + ^ +In file included from src/login/../strings/base.hpp:201, + from src/login/../strings/vstring.hpp:25, + from src/login/login.hpp:23, + from src/login/login.cpp:1: +src/login/../strings/base.tcc:280:7: note: declared here + O _crtp_string::to_print() const + ^~~~~~~~~~~~~~~~~~~~~ +src/login/login.cpp:1893:95: warning: ‘O tmwa::strings::_crtp_string::to_print() const [with T = tmwa::strings::VString<23>; O = tmwa::strings::VString<23>; P = tmwa::strings::ZPair]’ is deprecated [-Wdeprecated-declarations] + AccountName account_name = stringish(fixed.account_name.to_print()); + ^ +In file included from src/login/../strings/base.hpp:201, + from src/login/../strings/vstring.hpp:25, + from src/login/login.hpp:23, + from src/login/login.cpp:1: +src/login/../strings/base.tcc:280:7: note: declared here + O _crtp_string::to_print() const + ^~~~~~~~~~~~~~~~~~~~~ +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -c -o obj/map/grfio.pdc.o src/map/grfio.cpp +src/login/login.cpp:1934:94: warning: ‘O tmwa::strings::_crtp_string::to_print() const [with T = tmwa::strings::VString<23>; O = tmwa::strings::VString<23>; P = tmwa::strings::ZPair]’ is deprecated [-Wdeprecated-declarations] + AccountName account_name = stringish(head.account_name.to_print()); + ^ +In file included from src/login/../strings/base.hpp:201, + from src/login/../strings/vstring.hpp:25, + from src/login/login.hpp:23, + from src/login/login.cpp:1: +src/login/../strings/base.tcc:280:7: note: declared here + O _crtp_string::to_print() const + ^~~~~~~~~~~~~~~~~~~~~ +src/login/login.cpp:1949:50: warning: ‘O tmwa::strings::_crtp_string::to_print() const [with T = tmwa::strings::VString<254>; O = tmwa::strings::VString<254>; P = tmwa::strings::ZPair]’ is deprecated [-Wdeprecated-declarations] + ad->memo = ad->memo.to_print(); + ^ +In file included from src/login/../strings/base.hpp:201, + from src/login/../strings/vstring.hpp:25, + from src/login/login.hpp:23, + from src/login/login.cpp:1: +src/login/../strings/base.tcc:280:7: note: declared here + O _crtp_string::to_print() const + ^~~~~~~~~~~~~~~~~~~~~ +src/login/login.cpp:1973:95: warning: ‘O tmwa::strings::_crtp_string::to_print() const [with T = tmwa::strings::VString<23>; O = tmwa::strings::VString<23>; P = tmwa::strings::ZPair]’ is deprecated [-Wdeprecated-declarations] + AccountName account_name = stringish(fixed.account_name.to_print()); + ^ +In file included from src/login/../strings/base.hpp:201, + from src/login/../strings/vstring.hpp:25, + from src/login/login.hpp:23, + from src/login/login.cpp:1: +src/login/../strings/base.tcc:280:7: note: declared here + O _crtp_string::to_print() const + ^~~~~~~~~~~~~~~~~~~~~ +src/login/login.cpp:2032:99: warning: ‘O tmwa::strings::_crtp_string::to_print() const [with T = tmwa::strings::VString<23>; O = tmwa::strings::VString<23>; P = tmwa::strings::ZPair]’ is deprecated [-Wdeprecated-declarations] + AccountName account_name = stringish(fixed.account_name.to_print()); + ^ +In file included from src/login/../strings/base.hpp:201, + from src/login/../strings/vstring.hpp:25, + from src/login/login.hpp:23, + from src/login/login.cpp:1: +src/login/../strings/base.tcc:280:7: note: declared here + O _crtp_string::to_print() const + ^~~~~~~~~~~~~~~~~~~~~ +src/login/login.cpp:2089:99: warning: ‘O tmwa::strings::_crtp_string::to_print() const [with T = tmwa::strings::VString<23>; O = tmwa::strings::VString<23>; P = tmwa::strings::ZPair]’ is deprecated [-Wdeprecated-declarations] + AccountName account_name = stringish(fixed.account_name.to_print()); + ^ +In file included from src/login/../strings/base.hpp:201, + from src/login/../strings/vstring.hpp:25, + from src/login/login.hpp:23, + from src/login/login.cpp:1: +src/login/../strings/base.tcc:280:7: note: declared here + O _crtp_string::to_print() const + ^~~~~~~~~~~~~~~~~~~~~ +src/login/login.cpp:2228:95: warning: ‘O tmwa::strings::_crtp_string::to_print() const [with T = tmwa::strings::VString<23>; O = tmwa::strings::VString<23>; P = tmwa::strings::ZPair]’ is deprecated [-Wdeprecated-declarations] + AccountName account_name = stringish(fixed.account_name.to_print()); + ^ +In file included from src/login/../strings/base.hpp:201, + from src/login/../strings/vstring.hpp:25, + from src/login/login.hpp:23, + from src/login/login.cpp:1: +src/login/../strings/base.tcc:280:7: note: declared here + O _crtp_string::to_print() const + ^~~~~~~~~~~~~~~~~~~~~ +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -c -o obj/map/itemdb.pdc.o src/map/itemdb.cpp +src/login/login.cpp: In function ‘void tmwa::login::parse_login(tmwa::Session*)’: +src/login/login.cpp:2601:89: warning: ‘O tmwa::strings::_crtp_string::to_print() const [with T = tmwa::strings::VString<23>; O = tmwa::strings::VString<23>; P = tmwa::strings::ZPair]’ is deprecated [-Wdeprecated-declarations] + account.userid = stringish(fixed.account_name.to_print()); + ^ +In file included from src/login/../strings/base.hpp:201, + from src/login/../strings/vstring.hpp:25, + from src/login/login.hpp:23, + from src/login/login.cpp:1: +src/login/../strings/base.tcc:280:7: note: declared here + O _crtp_string::to_print() const + ^~~~~~~~~~~~~~~~~~~~~ +src/login/login.cpp:2602:89: warning: ‘O tmwa::strings::_crtp_string::to_print() const [with T = tmwa::strings::VString<23>; O = tmwa::strings::VString<23>; P = tmwa::strings::ZPair]’ is deprecated [-Wdeprecated-declarations] + account.passwd = stringish(fixed.account_pass.to_print()); + ^ +In file included from src/login/../strings/base.hpp:201, + from src/login/../strings/vstring.hpp:25, + from src/login/login.hpp:23, + from src/login/login.cpp:1: +src/login/../strings/base.tcc:280:7: note: declared here + O _crtp_string::to_print() const + ^~~~~~~~~~~~~~~~~~~~~ +src/login/login.cpp:2604:95: warning: ‘O tmwa::strings::_crtp_string::to_print() const [with T = tmwa::strings::VString<19>; O = tmwa::strings::VString<19>; P = tmwa::strings::ZPair]’ is deprecated [-Wdeprecated-declarations] + ServerName server_name = stringish(fixed.server_name.to_print()); + ^ +In file included from src/login/../strings/base.hpp:201, + from src/login/../strings/vstring.hpp:25, + from src/login/login.hpp:23, + from src/login/login.cpp:1: +src/login/../strings/base.tcc:280:7: note: declared here + O _crtp_string::to_print() const + ^~~~~~~~~~~~~~~~~~~~~ +src/login/login.cpp:2725:99: warning: ‘O tmwa::strings::_crtp_string::to_print() const [with T = tmwa::strings::VString<23>; O = tmwa::strings::VString<23>; P = tmwa::strings::ZPair]’ is deprecated [-Wdeprecated-declarations] + AccountPass password = stringish(fixed.account_pass.to_print()); + ^ +In file included from src/login/../strings/base.hpp:201, + from src/login/../strings/vstring.hpp:25, + from src/login/login.hpp:23, + from src/login/login.cpp:1: +src/login/../strings/base.tcc:280:7: note: declared here + O _crtp_string::to_print() const + ^~~~~~~~~~~~~~~~~~~~~ +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -c -o obj/map/map_conf.pdc.o src/map/map_conf.cpp +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -c -o obj/map/mob.pdc.o src/map/mob.cpp +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -c -o obj/map/npc-parse.pdc.o src/map/npc-parse.cpp +In file included from src/login/login.cpp:47: +src/login/../io/cxxstdio.hpp: In instantiation of ‘static int tmwa::cxxstdio::PrintFormatter::print(T&&, A&& ...) [with T = tmwa::strings::AString&; A = {}; Format = tmwa::login::save_config_in_log()::format_impl]’: +src/login/login.cpp:2889:5: required from here +src/login/../io/cxxstdio.hpp:79:28: warning: zero-length gnu_printf format string [-Wformat-zero-length] + return do_print(std::forward(t), print_format, + ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + decay_for_printf(convert_for_printf(std::forward(a)))...); + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -c -o obj/map/npc.pdc.o src/map/npc.cpp +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -c -o obj/map/party.pdc.o src/map/party.cpp +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -c -o obj/map/pc.pdc.o src/map/pc.cpp +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -c -o obj/map/quest.pdc.o src/map/quest.cpp +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -c -o obj/map/script-startup.pdc.o src/map/script-startup.cpp +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -c -o obj/map/skill-pools.pdc.o src/map/skill-pools.cpp +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -c -o obj/map/skill.pdc.o src/map/skill.cpp +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -c -o obj/map/storage.pdc.o src/map/storage.cpp +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -c -o obj/map/trade.pdc.o src/map/trade.cpp +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -c -o obj/ast/npc.pdc.o src/ast/npc.cpp +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -c -o obj/ast/script.pdc.o src/ast/script.cpp +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -c -o obj/map/intif.pdc.o src/map/intif.cpp +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -c -o obj/map/script-call.pdc.o src/map/script-call.cpp +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -c -o obj/map/tmw.pdc.o src/map/tmw.cpp +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -c -o obj/map/script-fun.pdc.o src/map/script-fun.cpp +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -c -o obj/map/script-parse.pdc.o src/map/script-parse.cpp +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -c -o obj/map/path.pdc.o src/map/path.cpp +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -c -o obj/ast/item.pdc.o src/ast/item.cpp +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -c -o obj/ast/quest.pdc.o src/ast/quest.cpp +g++-8 -std=c++0x -fuse-ld=gold obj/admin/main.pdc.o obj/admin/ladmin.pdc.o obj/high/core.pdc.o obj/admin/admin_conf.pdc.o obj/admin/globals.pdc.o obj/generic/oops.pdc.o obj/high/utils.pdc.o obj/io/dir.pdc.o obj/io/extract.pdc.o obj/io/fd.pdc.o obj/io/read.pdc.o obj/io/span.pdc.o obj/io/write.pdc.o obj/mmo/config_parse.pdc.o obj/mmo/human_time_diff.pdc.o obj/mmo/ids.pdc.o obj/mmo/strs.pdc.o obj/mmo/version.pdc.o obj/net/ip.pdc.o obj/net/socket.pdc.o obj/net/timestamp-utils.pdc.o obj/strings/astring.pdc.o obj/strings/literal.pdc.o obj/strings/mstring.pdc.o obj/strings/rstring.pdc.o obj/strings/sstring.pdc.o obj/strings/tstring.pdc.o obj/strings/xstring.pdc.o obj/strings/zstring.pdc.o obj/wire/packets.pdc.o obj/high/extract_mmo.pdc.o obj/mmo/extract_enums.pdc.o obj/io/line.pdc.o obj/net/timer.pdc.o lib/libtmwa-shared.so.0.18.12.30.6.0 -o bin/tmwa-admin.elf +src/map/script-call.cpp: In function ‘tmwa::map::script_data tmwa::map::get_val2(tmwa::map::ScriptState*, tmwa::map::SIR)’: +src/map/script-call.cpp:206:21: warning: ‘void tmwa::map::get_val(tmwa::map::ScriptState*, tmwa::map::script_data*)’ is deprecated [-Wdeprecated-declarations] + get_val(st, &dat); + ^ +src/map/script-call.cpp:162:6: note: declared here + void get_val(ScriptState *st, struct script_data *data) + ^~~~~~~ +src/map/script-call.cpp:206:21: warning: ‘void tmwa::map::get_val(tmwa::map::ScriptState*, tmwa::map::script_data*)’ is deprecated [-Wdeprecated-declarations] + get_val(st, &dat); + ^ +src/map/script-call.cpp:162:6: note: declared here + void get_val(ScriptState *st, struct script_data *data) + ^~~~~~~ +src/map/script-call.cpp: In function ‘tmwa::strings::RString tmwa::map::conv_str(tmwa::map::ScriptState*, tmwa::map::script_data*)’: +src/map/script-call.cpp:311:21: warning: ‘void tmwa::map::get_val(tmwa::map::ScriptState*, tmwa::map::script_data*)’ is deprecated [-Wdeprecated-declarations] + get_val(st, data); + ^ +src/map/script-call.cpp:162:6: note: declared here + void get_val(ScriptState *st, struct script_data *data) + ^~~~~~~ +src/map/script-call.cpp:311:21: warning: ‘void tmwa::map::get_val(tmwa::map::ScriptState*, tmwa::map::script_data*)’ is deprecated [-Wdeprecated-declarations] + get_val(st, data); + ^ +src/map/script-call.cpp:162:6: note: declared here + void get_val(ScriptState *st, struct script_data *data) + ^~~~~~~ +src/map/script-call.cpp: In function ‘int tmwa::map::conv_num(tmwa::map::ScriptState*, tmwa::map::script_data*)’: +src/map/script-call.cpp:328:21: warning: ‘void tmwa::map::get_val(tmwa::map::ScriptState*, tmwa::map::script_data*)’ is deprecated [-Wdeprecated-declarations] + get_val(st, data); + ^ +src/map/script-call.cpp:162:6: note: declared here + void get_val(ScriptState *st, struct script_data *data) + ^~~~~~~ +src/map/script-call.cpp:328:21: warning: ‘void tmwa::map::get_val(tmwa::map::ScriptState*, tmwa::map::script_data*)’ is deprecated [-Wdeprecated-declarations] + get_val(st, data); + ^ +src/map/script-call.cpp:162:6: note: declared here + void get_val(ScriptState *st, struct script_data *data) + ^~~~~~~ +src/map/script-call.cpp: In function ‘tmwa::Borrowed tmwa::map::conv_script(tmwa::map::ScriptState*, tmwa::map::script_data*)’: +src/map/script-call.cpp:357:21: warning: ‘void tmwa::map::get_val(tmwa::map::ScriptState*, tmwa::map::script_data*)’ is deprecated [-Wdeprecated-declarations] + get_val(st, data); + ^ +src/map/script-call.cpp:162:6: note: declared here + void get_val(ScriptState *st, struct script_data *data) + ^~~~~~~ +src/map/script-call.cpp:357:21: warning: ‘void tmwa::map::get_val(tmwa::map::ScriptState*, tmwa::map::script_data*)’ is deprecated [-Wdeprecated-declarations] + get_val(st, data); + ^ +src/map/script-call.cpp:162:6: note: declared here + void get_val(ScriptState *st, struct script_data *data) + ^~~~~~~ +src/map/script-call.cpp: In function ‘int tmwa::map::pop_val(tmwa::map::ScriptState*)’: +src/map/script-call.cpp:424:22: warning: ‘void tmwa::map::get_val(tmwa::map::ScriptState*, tmwa::map::script_data*)’ is deprecated [-Wdeprecated-declarations] + get_val(st, &back); + ^ +src/map/script-call.cpp:162:6: note: declared here + void get_val(ScriptState *st, struct script_data *data) + ^~~~~~~ +src/map/script-call.cpp:424:22: warning: ‘void tmwa::map::get_val(tmwa::map::ScriptState*, tmwa::map::script_data*)’ is deprecated [-Wdeprecated-declarations] + get_val(st, &back); + ^ +src/map/script-call.cpp:162:6: note: declared here + void get_val(ScriptState *st, struct script_data *data) + ^~~~~~~ +src/map/script-call.cpp: In function ‘void tmwa::map::op_add(tmwa::map::ScriptState*)’: +src/map/script-call.cpp:445:47: warning: ‘void tmwa::map::get_val(tmwa::map::ScriptState*, tmwa::map::script_data*)’ is deprecated [-Wdeprecated-declarations] + get_val(st, &st->stack->stack_datav.back()); + ^ +src/map/script-call.cpp:162:6: note: declared here + void get_val(ScriptState *st, struct script_data *data) + ^~~~~~~ +src/map/script-call.cpp:445:47: warning: ‘void tmwa::map::get_val(tmwa::map::ScriptState*, tmwa::map::script_data*)’ is deprecated [-Wdeprecated-declarations] + get_val(st, &st->stack->stack_datav.back()); + ^ +src/map/script-call.cpp:162:6: note: declared here + void get_val(ScriptState *st, struct script_data *data) + ^~~~~~~ +src/map/script-call.cpp:450:23: warning: ‘void tmwa::map::get_val(tmwa::map::ScriptState*, tmwa::map::script_data*)’ is deprecated [-Wdeprecated-declarations] + get_val(st, &back1); + ^ +src/map/script-call.cpp:162:6: note: declared here + void get_val(ScriptState *st, struct script_data *data) + ^~~~~~~ +src/map/script-call.cpp:450:23: warning: ‘void tmwa::map::get_val(tmwa::map::ScriptState*, tmwa::map::script_data*)’ is deprecated [-Wdeprecated-declarations] + get_val(st, &back1); + ^ +src/map/script-call.cpp:162:6: note: declared here + void get_val(ScriptState *st, struct script_data *data) + ^~~~~~~ +src/map/script-call.cpp: In function ‘void tmwa::map::op_2(tmwa::map::ScriptState*, tmwa::map::ByteCode)’: +src/map/script-call.cpp:578:20: warning: ‘void tmwa::map::get_val(tmwa::map::ScriptState*, tmwa::map::script_data*)’ is deprecated [-Wdeprecated-declarations] + get_val(st, &d2); + ^ +src/map/script-call.cpp:162:6: note: declared here + void get_val(ScriptState *st, struct script_data *data) + ^~~~~~~ +src/map/script-call.cpp:578:20: warning: ‘void tmwa::map::get_val(tmwa::map::ScriptState*, tmwa::map::script_data*)’ is deprecated [-Wdeprecated-declarations] + get_val(st, &d2); + ^ +src/map/script-call.cpp:162:6: note: declared here + void get_val(ScriptState *st, struct script_data *data) + ^~~~~~~ +src/map/script-call.cpp:581:20: warning: ‘void tmwa::map::get_val(tmwa::map::ScriptState*, tmwa::map::script_data*)’ is deprecated [-Wdeprecated-declarations] + get_val(st, &d1); + ^ +src/map/script-call.cpp:162:6: note: declared here + void get_val(ScriptState *st, struct script_data *data) + ^~~~~~~ +src/map/script-call.cpp:581:20: warning: ‘void tmwa::map::get_val(tmwa::map::ScriptState*, tmwa::map::script_data*)’ is deprecated [-Wdeprecated-declarations] + get_val(st, &d1); + ^ +src/map/script-call.cpp:162:6: note: declared here + void get_val(ScriptState *st, struct script_data *data) + ^~~~~~~ +src/map/script-call.cpp: In function ‘int tmwa::map::run_script_l(tmwa::map::ScriptPointer, tmwa::BlockId, tmwa::BlockId, tmwa::Slice)’: +src/map/script-call.cpp:984:19: warning: ‘T& tmwa::Slice::operator[](size_t) [with T = tmwa::map::argrec_t; size_t = long unsigned int]’ is deprecated: use iterators instead [-Wdeprecated-declarations] + if (args[i].name.back() == '$') + ^ +In file included from src/map/../high/../range/slice.hpp:74, + from src/map/../high/core.hpp:25, + from src/map/script-call.cpp:31: +src/map/../high/../range/slice.tcc:158:4: note: declared here + T& Slice::operator[](size_t o) + ^~~~~~~~ +src/map/script-call.cpp:985:68: warning: ‘T& tmwa::Slice::operator[](size_t) [with T = tmwa::map::argrec_t; size_t = long unsigned int]’ is deprecated: use iterators instead [-Wdeprecated-declarations] + pc_setregstr(sd, SIR::from(variable_names.intern(args[i].name)), args[i].v.s); + ^ +In file included from src/map/../high/../range/slice.hpp:74, + from src/map/../high/core.hpp:25, + from src/map/script-call.cpp:31: +src/map/../high/../range/slice.tcc:158:4: note: declared here + T& Slice::operator[](size_t o) + ^~~~~~~~ +src/map/script-call.cpp:985:84: warning: ‘T& tmwa::Slice::operator[](size_t) [with T = tmwa::map::argrec_t; size_t = long unsigned int]’ is deprecated: use iterators instead [-Wdeprecated-declarations] + pc_setregstr(sd, SIR::from(variable_names.intern(args[i].name)), args[i].v.s); + ^ +In file included from src/map/../high/../range/slice.hpp:74, + from src/map/../high/core.hpp:25, + from src/map/script-call.cpp:31: +src/map/../high/../range/slice.tcc:158:4: note: declared here + T& Slice::operator[](size_t o) + ^~~~~~~~ +src/map/script-call.cpp:987:65: warning: ‘T& tmwa::Slice::operator[](size_t) [with T = tmwa::map::argrec_t; size_t = long unsigned int]’ is deprecated: use iterators instead [-Wdeprecated-declarations] + pc_setreg(sd, SIR::from(variable_names.intern(args[i].name)), args[i].v.i); + ^ +In file included from src/map/../high/../range/slice.hpp:74, + from src/map/../high/core.hpp:25, + from src/map/script-call.cpp:31: +src/map/../high/../range/slice.tcc:158:4: note: declared here + T& Slice::operator[](size_t o) + ^~~~~~~~ +src/map/script-call.cpp:987:81: warning: ‘T& tmwa::Slice::operator[](size_t) [with T = tmwa::map::argrec_t; size_t = long unsigned int]’ is deprecated: use iterators instead [-Wdeprecated-declarations] + pc_setreg(sd, SIR::from(variable_names.intern(args[i].name)), args[i].v.i); + ^ +In file included from src/map/../high/../range/slice.hpp:74, + from src/map/../high/core.hpp:25, + from src/map/script-call.cpp:31: +src/map/../high/../range/slice.tcc:158:4: note: declared here + T& Slice::operator[](size_t o) + ^~~~~~~~ +src/map/script-fun.cpp: In function ‘void tmwa::map::builtin_call(tmwa::map::ScriptState*)’: +src/map/script-fun.cpp:169:22: warning: ‘void tmwa::map::get_val(tmwa::map::ScriptState*, tmwa::map::script_data*)’ is deprecated [-Wdeprecated-declarations] + get_val(st, sdata); + ^ +In file included from src/map/script-fun.cpp:57: +src/map/script-call-internal.hpp:86:6: note: declared here + void get_val(ScriptState *st, struct script_data *data); + ^~~~~~~ +src/map/script-fun.cpp:169:22: warning: ‘void tmwa::map::get_val(tmwa::map::ScriptState*, tmwa::map::script_data*)’ is deprecated [-Wdeprecated-declarations] + get_val(st, sdata); + ^ +In file included from src/map/script-fun.cpp:57: +src/map/script-call-internal.hpp:86:6: note: declared here + void get_val(ScriptState *st, struct script_data *data); + ^~~~~~~ +src/map/script-fun.cpp: In function ‘void tmwa::map::builtin_set(tmwa::map::ScriptState*)’: +src/map/script-fun.cpp:1292:30: warning: ‘void tmwa::map::get_val(tmwa::map::ScriptState*, tmwa::map::script_data*)’ is deprecated [-Wdeprecated-declarations] + get_val(st, sdata); + ^ +In file included from src/map/script-fun.cpp:57: +src/map/script-call-internal.hpp:86:6: note: declared here + void get_val(ScriptState *st, struct script_data *data); + ^~~~~~~ +src/map/script-fun.cpp:1292:30: warning: ‘void tmwa::map::get_val(tmwa::map::ScriptState*, tmwa::map::script_data*)’ is deprecated [-Wdeprecated-declarations] + get_val(st, sdata); + ^ +In file included from src/map/script-fun.cpp:57: +src/map/script-call-internal.hpp:86:6: note: declared here + void get_val(ScriptState *st, struct script_data *data); + ^~~~~~~ +src/map/script-fun.cpp:1342:30: warning: ‘void tmwa::map::get_val(tmwa::map::ScriptState*, tmwa::map::script_data*)’ is deprecated [-Wdeprecated-declarations] + get_val(st, sdata); + ^ +In file included from src/map/script-fun.cpp:57: +src/map/script-call-internal.hpp:86:6: note: declared here + void get_val(ScriptState *st, struct script_data *data); + ^~~~~~~ +src/map/script-fun.cpp:1342:30: warning: ‘void tmwa::map::get_val(tmwa::map::ScriptState*, tmwa::map::script_data*)’ is deprecated [-Wdeprecated-declarations] + get_val(st, sdata); + ^ +In file included from src/map/script-fun.cpp:57: +src/map/script-call-internal.hpp:86:6: note: declared here + void get_val(ScriptState *st, struct script_data *data); + ^~~~~~~ +src/map/script-fun.cpp: In function ‘void tmwa::map::builtin_setarray(tmwa::map::ScriptState*)’: +src/map/script-fun.cpp:1472:26: warning: ‘void tmwa::map::get_val(tmwa::map::ScriptState*, tmwa::map::script_data*)’ is deprecated [-Wdeprecated-declarations] + get_val(st, sdata); + ^ +In file included from src/map/script-fun.cpp:57: +src/map/script-call-internal.hpp:86:6: note: declared here + void get_val(ScriptState *st, struct script_data *data); + ^~~~~~~ +src/map/script-fun.cpp:1472:26: warning: ‘void tmwa::map::get_val(tmwa::map::ScriptState*, tmwa::map::script_data*)’ is deprecated [-Wdeprecated-declarations] + get_val(st, sdata); + ^ +In file included from src/map/script-fun.cpp:57: +src/map/script-call-internal.hpp:86:6: note: declared here + void get_val(ScriptState *st, struct script_data *data); + ^~~~~~~ +src/map/script-fun.cpp: In function ‘void tmwa::map::builtin_countitem(tmwa::map::ScriptState*)’: +src/map/script-fun.cpp:1742:21: warning: ‘void tmwa::map::get_val(tmwa::map::ScriptState*, tmwa::map::script_data*)’ is deprecated [-Wdeprecated-declarations] + get_val(st, data); + ^ +In file included from src/map/script-fun.cpp:57: +src/map/script-call-internal.hpp:86:6: note: declared here + void get_val(ScriptState *st, struct script_data *data); + ^~~~~~~ +src/map/script-fun.cpp:1742:21: warning: ‘void tmwa::map::get_val(tmwa::map::ScriptState*, tmwa::map::script_data*)’ is deprecated [-Wdeprecated-declarations] + get_val(st, data); + ^ +In file included from src/map/script-fun.cpp:57: +src/map/script-call-internal.hpp:86:6: note: declared here + void get_val(ScriptState *st, struct script_data *data); + ^~~~~~~ +src/map/script-fun.cpp: In function ‘void tmwa::map::builtin_checkweight(tmwa::map::ScriptState*)’: +src/map/script-fun.cpp:1789:21: warning: ‘void tmwa::map::get_val(tmwa::map::ScriptState*, tmwa::map::script_data*)’ is deprecated [-Wdeprecated-declarations] + get_val(st, data); + ^ +In file included from src/map/script-fun.cpp:57: +src/map/script-call-internal.hpp:86:6: note: declared here + void get_val(ScriptState *st, struct script_data *data); + ^~~~~~~ +src/map/script-fun.cpp:1789:21: warning: ‘void tmwa::map::get_val(tmwa::map::ScriptState*, tmwa::map::script_data*)’ is deprecated [-Wdeprecated-declarations] + get_val(st, data); + ^ +In file included from src/map/script-fun.cpp:57: +src/map/script-call-internal.hpp:86:6: note: declared here + void get_val(ScriptState *st, struct script_data *data); + ^~~~~~~ +src/map/script-fun.cpp: In function ‘void tmwa::map::builtin_getitem(tmwa::map::ScriptState*)’: +src/map/script-fun.cpp:1838:21: warning: ‘void tmwa::map::get_val(tmwa::map::ScriptState*, tmwa::map::script_data*)’ is deprecated [-Wdeprecated-declarations] + get_val(st, data); + ^ +In file included from src/map/script-fun.cpp:57: +src/map/script-call-internal.hpp:86:6: note: declared here + void get_val(ScriptState *st, struct script_data *data); + ^~~~~~~ +src/map/script-fun.cpp:1838:21: warning: ‘void tmwa::map::get_val(tmwa::map::ScriptState*, tmwa::map::script_data*)’ is deprecated [-Wdeprecated-declarations] + get_val(st, data); + ^ +In file included from src/map/script-fun.cpp:57: +src/map/script-call-internal.hpp:86:6: note: declared here + void get_val(ScriptState *st, struct script_data *data); + ^~~~~~~ +src/map/script-fun.cpp: In function ‘void tmwa::map::builtin_makeitem(tmwa::map::ScriptState*)’: +src/map/script-fun.cpp:1894:21: warning: ‘void tmwa::map::get_val(tmwa::map::ScriptState*, tmwa::map::script_data*)’ is deprecated [-Wdeprecated-declarations] + get_val(st, data); + ^ +In file included from src/map/script-fun.cpp:57: +src/map/script-call-internal.hpp:86:6: note: declared here + void get_val(ScriptState *st, struct script_data *data); + ^~~~~~~ +src/map/script-fun.cpp:1894:21: warning: ‘void tmwa::map::get_val(tmwa::map::ScriptState*, tmwa::map::script_data*)’ is deprecated [-Wdeprecated-declarations] + get_val(st, data); + ^ +In file included from src/map/script-fun.cpp:57: +src/map/script-call-internal.hpp:86:6: note: declared here + void get_val(ScriptState *st, struct script_data *data); + ^~~~~~~ +src/map/script-fun.cpp: In function ‘void tmwa::map::builtin_delitem(tmwa::map::ScriptState*)’: +src/map/script-fun.cpp:1942:21: warning: ‘void tmwa::map::get_val(tmwa::map::ScriptState*, tmwa::map::script_data*)’ is deprecated [-Wdeprecated-declarations] + get_val(st, data); + ^ +In file included from src/map/script-fun.cpp:57: +src/map/script-call-internal.hpp:86:6: note: declared here + void get_val(ScriptState *st, struct script_data *data); + ^~~~~~~ +src/map/script-fun.cpp:1942:21: warning: ‘void tmwa::map::get_val(tmwa::map::ScriptState*, tmwa::map::script_data*)’ is deprecated [-Wdeprecated-declarations] + get_val(st, data); + ^ +In file included from src/map/script-fun.cpp:57: +src/map/script-call-internal.hpp:86:6: note: declared here + void get_val(ScriptState *st, struct script_data *data); + ^~~~~~~ +src/map/script-fun.cpp: In function ‘void tmwa::map::builtin_getareadropitem(tmwa::map::ScriptState*)’: +src/map/script-fun.cpp:3144:21: warning: ‘void tmwa::map::get_val(tmwa::map::ScriptState*, tmwa::map::script_data*)’ is deprecated [-Wdeprecated-declarations] + get_val(st, data); + ^ +In file included from src/map/script-fun.cpp:57: +src/map/script-call-internal.hpp:86:6: note: declared here + void get_val(ScriptState *st, struct script_data *data); + ^~~~~~~ +src/map/script-fun.cpp:3144:21: warning: ‘void tmwa::map::get_val(tmwa::map::ScriptState*, tmwa::map::script_data*)’ is deprecated [-Wdeprecated-declarations] + get_val(st, data); + ^ +In file included from src/map/script-fun.cpp:57: +src/map/script-call-internal.hpp:86:6: note: declared here + void get_val(ScriptState *st, struct script_data *data); + ^~~~~~~ +src/map/script-fun.cpp: In function ‘void tmwa::map::builtin_misceffect(tmwa::map::ScriptState*)’: +src/map/script-fun.cpp:3822:26: warning: ‘void tmwa::map::get_val(tmwa::map::ScriptState*, tmwa::map::script_data*)’ is deprecated [-Wdeprecated-declarations] + get_val(st, sdata); + ^ +In file included from src/map/script-fun.cpp:57: +src/map/script-call-internal.hpp:86:6: note: declared here + void get_val(ScriptState *st, struct script_data *data); + ^~~~~~~ +src/map/script-fun.cpp:3822:26: warning: ‘void tmwa::map::get_val(tmwa::map::ScriptState*, tmwa::map::script_data*)’ is deprecated [-Wdeprecated-declarations] + get_val(st, sdata); + ^ +In file included from src/map/script-fun.cpp:57: +src/map/script-call-internal.hpp:86:6: note: declared here + void get_val(ScriptState *st, struct script_data *data); + ^~~~~~~ +src/map/script-fun.cpp: In function ‘void tmwa::map::builtin_get(tmwa::map::ScriptState*)’: +src/map/script-fun.cpp:3894:26: warning: ‘void tmwa::map::get_val(tmwa::map::ScriptState*, tmwa::map::script_data*)’ is deprecated [-Wdeprecated-declarations] + get_val(st, sdata); + ^ +In file included from src/map/script-fun.cpp:57: +src/map/script-call-internal.hpp:86:6: note: declared here + void get_val(ScriptState *st, struct script_data *data); + ^~~~~~~ +src/map/script-fun.cpp:3894:26: warning: ‘void tmwa::map::get_val(tmwa::map::ScriptState*, tmwa::map::script_data*)’ is deprecated [-Wdeprecated-declarations] + get_val(st, sdata); + ^ +In file included from src/map/script-fun.cpp:57: +src/map/script-call-internal.hpp:86:6: note: declared here + void get_val(ScriptState *st, struct script_data *data); + ^~~~~~~ +src/map/script-fun.cpp:3937:22: warning: ‘void tmwa::map::get_val(tmwa::map::ScriptState*, tmwa::map::script_data*)’ is deprecated [-Wdeprecated-declarations] + get_val(st, sdata); + ^ +In file included from src/map/script-fun.cpp:57: +src/map/script-call-internal.hpp:86:6: note: declared here + void get_val(ScriptState *st, struct script_data *data); + ^~~~~~~ +src/map/script-fun.cpp:3937:22: warning: ‘void tmwa::map::get_val(tmwa::map::ScriptState*, tmwa::map::script_data*)’ is deprecated [-Wdeprecated-declarations] + get_val(st, sdata); + ^ +In file included from src/map/script-fun.cpp:57: +src/map/script-call-internal.hpp:86:6: note: declared here + void get_val(ScriptState *st, struct script_data *data); + ^~~~~~~ +src/map/script-fun.cpp: In function ‘void tmwa::map::builtin_strnpcinfo(tmwa::map::ScriptState*)’: +src/map/script-fun.cpp:4656:26: warning: ‘void tmwa::map::get_val(tmwa::map::ScriptState*, tmwa::map::script_data*)’ is deprecated [-Wdeprecated-declarations] + get_val(st, sdata); + ^ +In file included from src/map/script-fun.cpp:57: +src/map/script-call-internal.hpp:86:6: note: declared here + void get_val(ScriptState *st, struct script_data *data); + ^~~~~~~ +src/map/script-fun.cpp:4656:26: warning: ‘void tmwa::map::get_val(tmwa::map::ScriptState*, tmwa::map::script_data*)’ is deprecated [-Wdeprecated-declarations] + get_val(st, sdata); + ^ +In file included from src/map/script-fun.cpp:57: +src/map/script-call-internal.hpp:86:6: note: declared here + void get_val(ScriptState *st, struct script_data *data); + ^~~~~~~ +g++-8 -std=c++0x -fuse-ld=gold obj/login/main.pdc.o obj/generic/oops.pdc.o obj/high/core.pdc.o obj/login/login.pdc.o obj/mmo/ids.pdc.o obj/mmo/strs.pdc.o obj/net/ip.pdc.o obj/net/timestamp-utils.pdc.o obj/strings/astring.pdc.o obj/strings/literal.pdc.o obj/strings/mstring.pdc.o obj/strings/rstring.pdc.o obj/strings/sstring.pdc.o obj/strings/tstring.pdc.o obj/strings/xstring.pdc.o obj/strings/zstring.pdc.o obj/io/fd.pdc.o obj/net/socket.pdc.o obj/net/timer.pdc.o obj/wire/packets.pdc.o obj/io/dir.pdc.o obj/io/write.pdc.o obj/generic/md5.pdc.o obj/generic/random.pdc.o obj/high/extract_mmo.pdc.o obj/high/md5more.pdc.o obj/high/utils.pdc.o obj/io/extract.pdc.o obj/io/lock.pdc.o obj/io/read.pdc.o obj/io/span.pdc.o obj/login/globals.pdc.o obj/login/login_conf.pdc.o obj/login/login_lan_conf.pdc.o obj/mmo/config_parse.pdc.o obj/mmo/human_time_diff.pdc.o obj/mmo/version.pdc.o obj/mmo/extract_enums.pdc.o obj/io/line.pdc.o lib/libtmwa-shared.so.0.18.12.30.6.0 -o bin/tmwa-login.elf +g++-8 -std=c++0x -fuse-ld=gold obj/char/main.pdc.o obj/char/char.pdc.o obj/generic/oops.pdc.o obj/high/core.pdc.o obj/mmo/ids.pdc.o obj/mmo/strs.pdc.o obj/net/ip.pdc.o obj/strings/astring.pdc.o obj/strings/literal.pdc.o obj/strings/mstring.pdc.o obj/strings/rstring.pdc.o obj/strings/sstring.pdc.o obj/strings/tstring.pdc.o obj/strings/xstring.pdc.o obj/strings/zstring.pdc.o obj/char/char_conf.pdc.o obj/char/char_lan_conf.pdc.o obj/char/globals.pdc.o obj/char/int_party.pdc.o obj/char/int_storage.pdc.o obj/char/inter.pdc.o obj/char/inter_conf.pdc.o obj/high/extract_mmo.pdc.o obj/high/utils.pdc.o obj/io/dir.pdc.o obj/io/extract.pdc.o obj/io/fd.pdc.o obj/io/lock.pdc.o obj/io/read.pdc.o obj/io/span.pdc.o obj/io/write.pdc.o obj/mmo/config_parse.pdc.o obj/mmo/extract_enums.pdc.o obj/mmo/human_time_diff.pdc.o obj/mmo/version.pdc.o obj/net/socket.pdc.o obj/net/timer.pdc.o obj/net/timestamp-utils.pdc.o obj/wire/packets.pdc.o obj/io/line.pdc.o lib/libtmwa-shared.so.0.18.12.30.6.0 -o bin/tmwa-char.elf +g++-8 -std=c++0x -fuse-ld=gold obj/map/main.pdc.o obj/generic/oops.pdc.o obj/high/core.pdc.o obj/io/fd.pdc.o obj/map/map.pdc.o obj/map/mapflag.pdc.o obj/mmo/ids.pdc.o obj/mmo/strs.pdc.o obj/net/ip.pdc.o obj/net/socket.pdc.o obj/strings/astring.pdc.o obj/strings/literal.pdc.o obj/strings/mstring.pdc.o obj/strings/rstring.pdc.o obj/strings/sstring.pdc.o obj/strings/tstring.pdc.o obj/strings/xstring.pdc.o obj/strings/zstring.pdc.o obj/net/timer.pdc.o obj/compat/nullpo.pdc.o obj/generic/random.pdc.o obj/io/dir.pdc.o obj/io/extract.pdc.o obj/io/read.pdc.o obj/io/span.pdc.o obj/io/write.pdc.o obj/map/atcommand.pdc.o obj/map/battle.pdc.o obj/map/battle_conf.pdc.o obj/map/chrif.pdc.o obj/map/clif.pdc.o obj/map/globals.pdc.o obj/map/grfio.pdc.o obj/map/itemdb.pdc.o obj/map/map_conf.pdc.o obj/map/mob.pdc.o obj/map/npc-parse.pdc.o obj/map/npc.pdc.o obj/map/party.pdc.o obj/map/pc.pdc.o obj/map/quest.pdc.o obj/map/script-startup.pdc.o obj/map/skill-pools.pdc.o obj/map/skill.pdc.o obj/map/storage.pdc.o obj/map/trade.pdc.o obj/mmo/config_parse.pdc.o obj/mmo/version.pdc.o obj/net/timestamp-utils.pdc.o obj/ast/npc.pdc.o obj/ast/script.pdc.o obj/high/extract_mmo.pdc.o obj/high/utils.pdc.o obj/map/intif.pdc.o obj/map/script-call.pdc.o obj/map/tmw.pdc.o obj/mmo/extract_enums.pdc.o obj/mmo/human_time_diff.pdc.o obj/io/line.pdc.o obj/wire/packets.pdc.o obj/map/script-fun.pdc.o obj/map/script-parse.pdc.o obj/map/path.pdc.o obj/generic/md5.pdc.o obj/high/md5more.pdc.o obj/ast/item.pdc.o obj/ast/quest.pdc.o obj/io/lock.pdc.o lib/libtmwa-shared.so.0.18.12.30.6.0 -o bin/tmwa-map.elf + +Welcome to the One Makefile +Copyright 2012-2014 Ben Longbons + +One Makefile to build them all, +One Makefile to find them, +One Makefile to bring them all +and in the darkness link them. + +make: 'stamp/generated.stamp' is up to date. +g++-8 -std=c++0x -I . -I ./include -DGENERATING_DEPENDENCIES -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -MG -MM \ + -MT 'shared/lib := ' \ + -MF obj/shared/lib.d src/shared/lib.cpp +g++-8 -std=c++0x -I . -I ./include -DGENERATING_DEPENDENCIES -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -MG -MM \ + -MT 'mmo/version := ' \ + -MF obj/mmo/version.d src/mmo/version.cpp +The Road goes ever on and on ... +make: 'stamp/generated.stamp' is up to date. +cat src/main-gdb-head.py \ + src/compat/option.py src/generic/dumb_ptr.py src/ints/wrap.py src/mmo/ids.py src/mmo/strs.py src/sexpr/variant.py src/strings/astring.py src/strings/literal.py src/strings/rstring.py src/strings/vstring.py src/strings/xstring.py src/strings/zstring.py src/compat/borrow.py src/net/ip.py \ + src/main-gdb-tail.py \ + > bin/tests/gtest-ast--npc-gdb.py +cat src/main-gdb-head.py \ + src/strings/astring.py src/strings/literal.py src/strings/rstring.py src/strings/vstring.py src/strings/xstring.py src/strings/zstring.py \ + src/main-gdb-tail.py \ + > bin/tests/gtest-generic--intern-pool-gdb.py +cat src/main-gdb-head.py \ + \ + src/main-gdb-tail.py \ + > bin/tests/gtest-generic--array-gdb.py +ln -sf gtest-ast--npc-gdb.py bin/tests/gtest-ast--npc.elf-gdb.py +ln -sfT ../lib bin/lib +g++-8 -std=c++0x -I . -I ./include -DGTEST_HAS_PTHREAD=0 -I/usr/src/gtest -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -c -o obj/compat/option_test.pdc.o src/compat/option_test.cpp +cat src/main-gdb-head.py \ + src/compat/option.py src/generic/dumb_ptr.py src/ints/wrap.py src/mmo/ids.py src/mmo/strs.py src/sexpr/variant.py src/strings/astring.py src/strings/literal.py src/strings/rstring.py src/strings/vstring.py src/strings/xstring.py src/strings/zstring.py \ + src/main-gdb-tail.py \ + > bin/tests/gtest-ast--item-gdb.py +cat src/main-gdb-head.py \ + src/compat/option.py src/strings/literal.py src/strings/rstring.py src/strings/astring.py src/strings/vstring.py src/strings/xstring.py src/strings/zstring.py \ + src/main-gdb-tail.py \ + > bin/tests/gtest-compat--result-gdb.py +g++-8 -std=c++0x -I . -I ./include -DGTEST_HAS_PTHREAD=0 -I/usr/src/gtest -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -c -o obj/generic/intern-pool_test.pdc.o src/generic/intern-pool_test.cpp +ln -sf gtest-generic--intern-pool-gdb.py bin/tests/gtest-generic--intern-pool.elf-gdb.py +g++-8 -std=c++0x -I . -I ./include -DGTEST_HAS_PTHREAD=0 -I/usr/src/gtest -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -c -o obj/ast/item_test.pdc.o src/ast/item_test.cpp +cat src/main-gdb-head.py \ + src/compat/borrow.py src/compat/option.py src/strings/literal.py \ + src/main-gdb-tail.py \ + > bin/tests/gtest-compat--option-gdb.py +cat src/main-gdb-head.py \ + \ + src/main-gdb-tail.py \ + > bin/tests/gtest-compat--iter-gdb.py +cat src/main-gdb-head.py \ + src/strings/astring.py src/strings/literal.py src/strings/rstring.py src/strings/vstring.py src/strings/xstring.py src/strings/zstring.py \ + src/main-gdb-tail.py \ + > bin/tests/gtest-generic--md5-gdb.py +cat src/main-gdb-head.py \ + \ + src/main-gdb-tail.py \ + > bin/tests/gtest-generic--oops-gdb.py +ln -sf gtest-ast--item-gdb.py bin/tests/gtest-ast--item.elf-gdb.py +touch stamp/symlink-test-lib-dir.stamp +g++-8 -std=c++0x -I . -I ./include -DGTEST_HAS_PTHREAD=0 -I/usr/src/gtest -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -c -o obj/ast/npc_test.pdc.o src/ast/npc_test.cpp +ln -sf gtest-compat--result-gdb.py bin/tests/gtest-compat--result.elf-gdb.py +ln -sf gtest-generic--array-gdb.py bin/tests/gtest-generic--array.elf-gdb.py +g++-8 -std=c++0x -I . -I ./include -DGTEST_HAS_PTHREAD=0 -I/usr/src/gtest -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -c -o obj/generic/array_test.pdc.o src/generic/array_test.cpp +ln -sf gtest-compat--iter-gdb.py bin/tests/gtest-compat--iter.elf-gdb.py +g++-8 -std=c++0x -I . -I ./include -DGTEST_HAS_PTHREAD=0 -I/usr/src/gtest -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -c -o obj/compat/iter_test.pdc.o src/compat/iter_test.cpp +ln -sf gtest-compat--option-gdb.py bin/tests/gtest-compat--option.elf-gdb.py +ln -sf gtest-generic--oops-gdb.py bin/tests/gtest-generic--oops.elf-gdb.py +g++-8 -std=c++0x -I . -I ./include -DGTEST_HAS_PTHREAD=0 -I/usr/src/gtest -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -c -o obj/gtest-all.pdc.o /usr/src/gtest/src/gtest-all.cc +g++-8 -std=c++0x -I . -I ./include -DGTEST_HAS_PTHREAD=0 -I/usr/src/gtest -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -c -o obj/gtest_main.pdc.o /usr/src/gtest/src/gtest_main.cc +g++-8 -std=c++0x -I . -I ./include -DGTEST_HAS_PTHREAD=0 -I/usr/src/gtest -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -c -o obj/generic/md5_test.pdc.o src/generic/md5_test.cpp +g++-8 -std=c++0x -I . -I ./include -DGTEST_HAS_PTHREAD=0 -I/usr/src/gtest -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -c -o obj/compat/result_test.pdc.o src/compat/result_test.cpp +ln -sf gtest-generic--md5-gdb.py bin/tests/gtest-generic--md5.elf-gdb.py +cat src/main-gdb-head.py \ + \ + src/main-gdb-tail.py \ + > bin/tests/gtest-ints--cmp-gdb.py +cat src/main-gdb-head.py \ + \ + src/main-gdb-tail.py \ + > bin/tests/gtest-ints--udl-gdb.py +cat src/main-gdb-head.py \ + src/generic/dumb_ptr.py src/ints/wrap.py src/mmo/strs.py src/strings/astring.py src/strings/literal.py src/strings/rstring.py src/strings/vstring.py src/strings/xstring.py src/strings/zstring.py src/compat/borrow.py src/compat/option.py src/mmo/ids.py src/net/ip.py \ + src/main-gdb-tail.py \ + > bin/tests/gtest-io--extract-gdb.py +ln -sf gtest-ints--cmp-gdb.py bin/tests/gtest-ints--cmp.elf-gdb.py +cat src/main-gdb-head.py \ + src/strings/astring.py src/strings/literal.py src/strings/rstring.py src/strings/vstring.py src/strings/xstring.py src/strings/zstring.py \ + src/main-gdb-tail.py \ + > bin/tests/gtest-io--line-gdb.py +g++-8 -std=c++0x -I . -I ./include -DGTEST_HAS_PTHREAD=0 -I/usr/src/gtest -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -c -o obj/generic/oops_test.pdc.o src/generic/oops_test.cpp +ln -sf gtest-ints--udl-gdb.py bin/tests/gtest-ints--udl.elf-gdb.py +ln -sf gtest-io--extract-gdb.py bin/tests/gtest-io--extract.elf-gdb.py +ln -sf gtest-io--line-gdb.py bin/tests/gtest-io--line.elf-gdb.py +cat src/main-gdb-head.py \ + src/strings/astring.py src/strings/literal.py src/strings/rstring.py src/strings/vstring.py src/strings/xstring.py src/strings/zstring.py \ + src/main-gdb-tail.py \ + > bin/tests/gtest-io--read-gdb.py +g++-8 -std=c++0x -I . -I ./include -DGTEST_HAS_PTHREAD=0 -I/usr/src/gtest -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -c -o obj/ints/cmp_test.pdc.o src/ints/cmp_test.cpp +g++-8 -std=c++0x -I . -I ./include -DGTEST_HAS_PTHREAD=0 -I/usr/src/gtest -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -c -o obj/ints/udl_test.pdc.o src/ints/udl_test.cpp +g++-8 -std=c++0x -I . -I ./include -DGTEST_HAS_PTHREAD=0 -I/usr/src/gtest -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -c -o obj/io/extract_test.pdc.o src/io/extract_test.cpp +g++-8 -std=c++0x -I . -I ./include -DGTEST_HAS_PTHREAD=0 -I/usr/src/gtest -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -c -o obj/io/line_test.pdc.o src/io/line_test.cpp +ln -sf gtest-io--read-gdb.py bin/tests/gtest-io--read.elf-gdb.py +cat src/main-gdb-head.py \ + src/strings/astring.py src/strings/literal.py src/strings/rstring.py src/strings/vstring.py src/strings/xstring.py src/strings/zstring.py \ + src/main-gdb-tail.py \ + > bin/tests/gtest-io--write-gdb.py +ln -sf gtest-io--write-gdb.py bin/tests/gtest-io--write.elf-gdb.py +cat src/main-gdb-head.py \ + src/strings/astring.py src/strings/literal.py src/strings/rstring.py src/strings/vstring.py src/strings/xstring.py src/strings/zstring.py src/compat/borrow.py src/compat/option.py src/ints/wrap.py \ + src/main-gdb-tail.py \ + > bin/tests/gtest-mmo--config_parse-gdb.py +g++-8 -std=c++0x -I . -I ./include -DGTEST_HAS_PTHREAD=0 -I/usr/src/gtest -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -c -o obj/io/read_test.pdc.o src/io/read_test.cpp +ln -sf gtest-mmo--config_parse-gdb.py bin/tests/gtest-mmo--config_parse.elf-gdb.py +g++-8 -std=c++0x -I . -I ./include -DGTEST_HAS_PTHREAD=0 -I/usr/src/gtest -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -c -o obj/io/write_test.pdc.o src/io/write_test.cpp +cat src/main-gdb-head.py \ + src/ints/wrap.py src/strings/astring.py src/strings/literal.py src/strings/rstring.py src/strings/vstring.py src/strings/xstring.py src/strings/zstring.py \ + src/main-gdb-tail.py \ + > bin/tests/gtest-mmo--human_time_diff-gdb.py +g++-8 -std=c++0x -I . -I ./include -DGTEST_HAS_PTHREAD=0 -I/usr/src/gtest -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -c -o obj/mmo/config_parse_test.pdc.o src/mmo/config_parse_test.cpp +ln -sf gtest-mmo--human_time_diff-gdb.py bin/tests/gtest-mmo--human_time_diff.elf-gdb.py +g++-8 -std=c++0x -I . -I ./include -DGTEST_HAS_PTHREAD=0 -I/usr/src/gtest -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -c -o obj/mmo/human_time_diff_test.pdc.o src/mmo/human_time_diff_test.cpp +cat src/main-gdb-head.py \ + src/ints/wrap.py src/net/ip.py src/strings/astring.py src/strings/literal.py src/strings/rstring.py src/strings/vstring.py src/strings/xstring.py src/strings/zstring.py \ + src/main-gdb-tail.py \ + > bin/tests/gtest-net--ip-gdb.py +ln -sf gtest-net--ip-gdb.py bin/tests/gtest-net--ip.elf-gdb.py +cat src/main-gdb-head.py \ + \ + src/main-gdb-tail.py \ + > bin/tests/gtest-range--slice-gdb.py +g++-8 -std=c++0x -I . -I ./include -DGTEST_HAS_PTHREAD=0 -I/usr/src/gtest -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -c -o obj/net/ip_test.pdc.o src/net/ip_test.cpp +ln -sf gtest-range--slice-gdb.py bin/tests/gtest-range--slice.elf-gdb.py +cat src/main-gdb-head.py \ + src/strings/astring.py src/strings/literal.py src/strings/rstring.py src/strings/vstring.py src/strings/xstring.py src/strings/zstring.py \ + src/main-gdb-tail.py \ + > bin/tests/gtest-sexpr--lexer-gdb.py +g++-8 -std=c++0x -I . -I ./include -DGTEST_HAS_PTHREAD=0 -I/usr/src/gtest -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -c -o obj/range/slice_test.pdc.o src/range/slice_test.cpp +ln -sf gtest-sexpr--lexer-gdb.py bin/tests/gtest-sexpr--lexer.elf-gdb.py +cat src/main-gdb-head.py \ + src/sexpr/parser.py src/strings/astring.py src/strings/literal.py src/strings/rstring.py src/strings/vstring.py src/strings/xstring.py src/strings/zstring.py \ + src/main-gdb-tail.py \ + > bin/tests/gtest-sexpr--parser-gdb.py +g++-8 -std=c++0x -I . -I ./include -DGTEST_HAS_PTHREAD=0 -I/usr/src/gtest -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -c -o obj/sexpr/lexer_test.pdc.o src/sexpr/lexer_test.cpp +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -c -o obj/sexpr/lexer.pdc.o src/sexpr/lexer.cpp +ln -sf gtest-sexpr--parser-gdb.py bin/tests/gtest-sexpr--parser.elf-gdb.py +g++-8 -std=c++0x -I . -I ./include -DGTEST_HAS_PTHREAD=0 -I/usr/src/gtest -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -c -o obj/sexpr/parser_test.pdc.o src/sexpr/parser_test.cpp +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -c -o obj/sexpr/parser.pdc.o src/sexpr/parser.cpp +cat src/main-gdb-head.py \ + \ + src/main-gdb-tail.py \ + > bin/tests/gtest-sexpr--union-gdb.py +ln -sf gtest-sexpr--union-gdb.py bin/tests/gtest-sexpr--union.elf-gdb.py +cat src/main-gdb-head.py \ + src/sexpr/variant.py src/strings/astring.py src/strings/literal.py src/strings/rstring.py src/strings/vstring.py src/strings/xstring.py src/strings/zstring.py \ + src/main-gdb-tail.py \ + > bin/tests/gtest-sexpr--variant-gdb.py +g++-8 -std=c++0x -I . -I ./include -DGTEST_HAS_PTHREAD=0 -I/usr/src/gtest -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -c -o obj/sexpr/union_test.pdc.o src/sexpr/union_test.cpp +ln -sf gtest-sexpr--variant-gdb.py bin/tests/gtest-sexpr--variant.elf-gdb.py +g++-8 -std=c++0x -I . -I ./include -DGTEST_HAS_PTHREAD=0 -I/usr/src/gtest -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -c -o obj/sexpr/variant_test.pdc.o src/sexpr/variant_test.cpp +cat src/main-gdb-head.py \ + src/strings/astring.py src/strings/literal.py src/strings/rstring.py src/strings/vstring.py src/strings/xstring.py src/strings/zstring.py \ + src/main-gdb-tail.py \ + > bin/tests/gtest-strings--base-gdb.py +ln -sf gtest-strings--base-gdb.py bin/tests/gtest-strings--base.elf-gdb.py +cat src/main-gdb-head.py \ + src/strings/astring.py src/strings/literal.py src/strings/rstring.py src/strings/vstring.py src/strings/xstring.py src/strings/zstring.py \ + src/main-gdb-tail.py \ + > bin/tests/gtest-strings--strings2-gdb.py +ln -sf gtest-strings--strings2-gdb.py bin/tests/gtest-strings--strings2.elf-gdb.py +g++-8 -std=c++0x -I . -I ./include -DGTEST_HAS_PTHREAD=0 -I/usr/src/gtest -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -c -o obj/strings/base_test.pdc.o src/strings/base_test.cpp +g++-8 -std=c++0x -I . -I ./include -DGTEST_HAS_PTHREAD=0 -I/usr/src/gtest -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -c -o obj/strings/strings2_test.pdc.o src/strings/strings2_test.cpp +cat src/main-gdb-head.py \ + src/strings/astring.py src/strings/literal.py src/strings/rstring.py src/strings/vstring.py src/strings/xstring.py src/strings/zstring.py \ + src/main-gdb-tail.py \ + > bin/tests/gtest-strings--strings-gdb.py +ln -sf gtest-strings--strings-gdb.py bin/tests/gtest-strings--strings.elf-gdb.py +cat src/main-gdb-head.py \ + src/compat/borrow.py src/compat/option.py \ + src/main-gdb-tail.py \ + > bin/tests/dtest-compat-borrow-gdb.py +g++-8 -std=c++0x -I . -I ./include -DGTEST_HAS_PTHREAD=0 -I/usr/src/gtest -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -c -o obj/strings/strings_test.pdc.o src/strings/strings_test.cpp +ln -sf dtest-compat-borrow-gdb.py bin/tests/dtest-compat-borrow.elf-gdb.py +cat src/main-gdb-head.py \ + src/compat/borrow.py src/compat/option.py \ + src/main-gdb-tail.py \ + > bin/tests/dtest-compat-option-gdb.py +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -g -O0 -gdwarf-3 -c -o obj/debug-debug/compat-borrow.pdc.o src/debug-debug/compat-borrow.cpp +ln -sf dtest-compat-option-gdb.py bin/tests/dtest-compat-option.elf-gdb.py +cat src/main-gdb-head.py \ + src/generic/dumb_ptr.py \ + src/main-gdb-tail.py \ + > bin/tests/dtest-generic-dumb_ptr-gdb.py +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -g -O0 -gdwarf-3 -c -o obj/debug-debug/compat-option.pdc.o src/debug-debug/compat-option.cpp +ln -sf dtest-generic-dumb_ptr-gdb.py bin/tests/dtest-generic-dumb_ptr.elf-gdb.py +cat src/main-gdb-head.py \ + src/ints/wrap.py \ + src/main-gdb-tail.py \ + > bin/tests/dtest-ints-wrap-gdb.py +ln -sf dtest-ints-wrap-gdb.py bin/tests/dtest-ints-wrap.elf-gdb.py +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -g -O0 -gdwarf-3 -c -o obj/debug-debug/generic-dumb_ptr.pdc.o src/debug-debug/generic-dumb_ptr.cpp +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -g -O0 -gdwarf-3 -c -o obj/debug-debug/ints-wrap.pdc.o src/debug-debug/ints-wrap.cpp +cat src/main-gdb-head.py \ + src/compat/borrow.py src/compat/option.py src/generic/dumb_ptr.py src/ints/wrap.py src/map/map.py src/map/mapflag.py src/map/script-persist.py src/mmo/ids.py src/mmo/strs.py src/net/ip.py src/sexpr/variant.py src/strings/astring.py src/strings/literal.py src/strings/rstring.py src/strings/vstring.py src/strings/xstring.py src/strings/zstring.py src/net/timer.py src/map/script-parse.py \ + src/main-gdb-tail.py \ + > bin/tests/dtest-map-map-gdb.py +cat src/main-gdb-head.py \ + src/map/mapflag.py src/strings/astring.py src/strings/literal.py src/strings/rstring.py src/strings/vstring.py src/strings/xstring.py src/strings/zstring.py \ + src/main-gdb-tail.py \ + > bin/tests/dtest-map-mapflag-gdb.py +ln -sf dtest-map-mapflag-gdb.py bin/tests/dtest-map-mapflag.elf-gdb.py +ln -sf dtest-map-map-gdb.py bin/tests/dtest-map-map.elf-gdb.py +cat src/main-gdb-head.py \ + src/compat/borrow.py src/compat/option.py src/generic/dumb_ptr.py src/ints/wrap.py src/map/script-parse.py src/mmo/ids.py src/mmo/strs.py src/strings/astring.py src/strings/literal.py src/strings/rstring.py src/strings/vstring.py src/strings/xstring.py src/strings/zstring.py src/net/ip.py src/map/map.py src/map/mapflag.py src/map/script-persist.py src/sexpr/variant.py src/net/timer.py \ + src/main-gdb-tail.py \ + > bin/tests/dtest-map-script-parse-gdb.py +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -g -O0 -gdwarf-3 -c -o obj/debug-debug/map-map.pdc.o src/debug-debug/map-map.cpp +cat src/main-gdb-head.py \ + src/compat/borrow.py src/compat/option.py src/generic/dumb_ptr.py src/ints/wrap.py src/map/script-parse.py src/map/script-persist.py src/mmo/ids.py src/mmo/strs.py src/sexpr/variant.py src/strings/astring.py src/strings/literal.py src/strings/rstring.py src/strings/vstring.py src/strings/xstring.py src/strings/zstring.py src/net/ip.py src/map/map.py src/map/mapflag.py src/net/timer.py \ + src/main-gdb-tail.py \ + > bin/tests/dtest-map-script-persist-gdb.py +ln -sf dtest-map-script-parse-gdb.py bin/tests/dtest-map-script-parse.elf-gdb.py +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -g -O0 -gdwarf-3 -c -o obj/debug-debug/map-mapflag.pdc.o src/debug-debug/map-mapflag.cpp +ln -sf dtest-map-script-persist-gdb.py bin/tests/dtest-map-script-persist.elf-gdb.py +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -g -O0 -gdwarf-3 -c -o obj/debug-debug/map-script-parse.pdc.o src/debug-debug/map-script-parse.cpp +cat src/main-gdb-head.py \ + src/ints/wrap.py src/mmo/ids.py src/strings/astring.py src/strings/literal.py src/strings/rstring.py src/strings/vstring.py src/strings/xstring.py src/strings/zstring.py \ + src/main-gdb-tail.py \ + > bin/tests/dtest-mmo-ids-gdb.py +ln -sf dtest-mmo-ids-gdb.py bin/tests/dtest-mmo-ids.elf-gdb.py +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -g -O0 -gdwarf-3 -c -o obj/debug-debug/map-script-persist.pdc.o src/debug-debug/map-script-persist.cpp +cat src/main-gdb-head.py \ + src/mmo/strs.py src/strings/astring.py src/strings/literal.py src/strings/rstring.py src/strings/vstring.py src/strings/xstring.py src/strings/zstring.py \ + src/main-gdb-tail.py \ + > bin/tests/dtest-mmo-strs-gdb.py +In file included from /usr/include/gtest/gtest.h:1874, + from src/strings/strings2_test.cpp:20: +src/strings/strings2_test.cpp: In member function ‘virtual void tmwa::StringTests_traits2_Test::TestBody()’: +src/strings/strings2_test.cpp:40:42: warning: ‘O tmwa::strings::_crtp_string::to_print() const [with T = tmwa::strings::ZString; O = tmwa::strings::AString; P = tmwa::strings::ZPair]’ is deprecated [-Wdeprecated-declarations] + EXPECT_EQ("__"_s, print_non.to_print()); + ^ +In file included from src/strings/base.hpp:201, + from src/strings/all.hpp:23, + from src/strings/strings2_test.cpp:22: +src/strings/base.tcc:280:7: note: declared here + O _crtp_string::to_print() const + ^~~~~~~~~~~~~~~~~~~~~ +In file included from /usr/include/gtest/gtest.h:1874, + from src/strings/strings2_test.cpp:20: +src/strings/strings2_test.cpp:41:42: warning: ‘O tmwa::strings::_crtp_string::to_print() const [with T = tmwa::strings::ZString; O = tmwa::strings::AString; P = tmwa::strings::ZPair]’ is deprecated [-Wdeprecated-declarations] + EXPECT_EQ("n_"_s, print_mix.to_print()); + ^ +In file included from src/strings/base.hpp:201, + from src/strings/all.hpp:23, + from src/strings/strings2_test.cpp:22: +src/strings/base.tcc:280:7: note: declared here + O _crtp_string::to_print() const + ^~~~~~~~~~~~~~~~~~~~~ +In file included from /usr/include/gtest/gtest.h:1874, + from src/strings/strings2_test.cpp:20: +src/strings/strings2_test.cpp:42:42: warning: ‘O tmwa::strings::_crtp_string::to_print() const [with T = tmwa::strings::RString; O = tmwa::strings::RString; P = tmwa::strings::ZPair]’ is deprecated [-Wdeprecated-declarations] + EXPECT_EQ("n "_s, print_all.to_print()); + ^ +In file included from src/strings/base.hpp:201, + from src/strings/all.hpp:23, + from src/strings/strings2_test.cpp:22: +src/strings/base.tcc:280:7: note: declared here + O _crtp_string::to_print() const + ^~~~~~~~~~~~~~~~~~~~~ +In file included from /usr/include/gtest/gtest.h:1874, + from src/strings/strings2_test.cpp:20: +src/strings/strings2_test.cpp:43:53: warning: ‘O tmwa::strings::_crtp_string::to_print() const [with T = tmwa::strings::RString; O = tmwa::strings::RString; P = tmwa::strings::ZPair]’ is deprecated [-Wdeprecated-declarations] + EXPECT_EQ(print_all.begin(), print_all.to_print().begin()); + ^ +In file included from src/strings/base.hpp:201, + from src/strings/all.hpp:23, + from src/strings/strings2_test.cpp:22: +src/strings/base.tcc:280:7: note: declared here + O _crtp_string::to_print() const + ^~~~~~~~~~~~~~~~~~~~~ +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -g -O0 -gdwarf-3 -c -o obj/debug-debug/mmo-ids.pdc.o src/debug-debug/mmo-ids.cpp +ln -sf dtest-mmo-strs-gdb.py bin/tests/dtest-mmo-strs.elf-gdb.py +cat src/main-gdb-head.py \ + src/net/ip.py src/ints/wrap.py src/strings/astring.py src/strings/literal.py src/strings/rstring.py src/strings/vstring.py src/strings/xstring.py src/strings/zstring.py \ + src/main-gdb-tail.py \ + > bin/tests/dtest-net-ip-gdb.py +ln -sf dtest-net-ip-gdb.py bin/tests/dtest-net-ip.elf-gdb.py +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -g -O0 -gdwarf-3 -c -o obj/debug-debug/mmo-strs.pdc.o src/debug-debug/mmo-strs.cpp +cat src/main-gdb-head.py \ + src/generic/dumb_ptr.py src/net/timer.py src/strings/astring.py src/strings/literal.py src/strings/rstring.py src/strings/vstring.py src/strings/xstring.py src/strings/zstring.py \ + src/main-gdb-tail.py \ + > bin/tests/dtest-net-timer-gdb.py +ln -sf dtest-net-timer-gdb.py bin/tests/dtest-net-timer.elf-gdb.py +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -g -O0 -gdwarf-3 -c -o obj/debug-debug/net-ip.pdc.o src/debug-debug/net-ip.cpp +cat src/main-gdb-head.py \ + src/sexpr/parser.py src/strings/astring.py src/strings/literal.py src/strings/rstring.py src/strings/vstring.py src/strings/xstring.py src/strings/zstring.py \ + src/main-gdb-tail.py \ + > bin/tests/dtest-sexpr-parser-gdb.py +ln -sf dtest-sexpr-parser-gdb.py bin/tests/dtest-sexpr-parser.elf-gdb.py +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -g -O0 -gdwarf-3 -c -o obj/debug-debug/net-timer.pdc.o src/debug-debug/net-timer.cpp +cat src/main-gdb-head.py \ + src/sexpr/variant.py \ + src/main-gdb-tail.py \ + > bin/tests/dtest-sexpr-variant-gdb.py +ln -sf dtest-sexpr-variant-gdb.py bin/tests/dtest-sexpr-variant.elf-gdb.py +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -g -O0 -gdwarf-3 -c -o obj/debug-debug/sexpr-parser.pdc.o src/debug-debug/sexpr-parser.cpp +cat src/main-gdb-head.py \ + src/strings/astring.py src/strings/literal.py src/strings/rstring.py src/strings/vstring.py src/strings/xstring.py src/strings/zstring.py \ + src/main-gdb-tail.py \ + > bin/tests/dtest-strings-astring-gdb.py +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -g -O0 -gdwarf-3 -c -o obj/debug-debug/sexpr-variant.pdc.o src/debug-debug/sexpr-variant.cpp +ln -sf dtest-strings-astring-gdb.py bin/tests/dtest-strings-astring.elf-gdb.py +cat src/main-gdb-head.py \ + src/strings/literal.py \ + src/main-gdb-tail.py \ + > bin/tests/dtest-strings-literal-gdb.py +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -g -O0 -gdwarf-3 -c -o obj/debug-debug/strings-astring.pdc.o src/debug-debug/strings-astring.cpp +ln -sf dtest-strings-literal-gdb.py bin/tests/dtest-strings-literal.elf-gdb.py +cat src/main-gdb-head.py \ + src/strings/astring.py src/strings/literal.py src/strings/rstring.py src/strings/vstring.py src/strings/xstring.py src/strings/zstring.py \ + src/main-gdb-tail.py \ + > bin/tests/dtest-strings-rstring-gdb.py +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -g -O0 -gdwarf-3 -c -o obj/debug-debug/strings-literal.pdc.o src/debug-debug/strings-literal.cpp +ln -sf dtest-strings-rstring-gdb.py bin/tests/dtest-strings-rstring.elf-gdb.py +cat src/main-gdb-head.py \ + src/strings/astring.py src/strings/literal.py src/strings/rstring.py src/strings/vstring.py src/strings/xstring.py src/strings/zstring.py \ + src/main-gdb-tail.py \ + > bin/tests/dtest-strings-vstring-gdb.py +cat src/main-gdb-head.py \ + src/strings/astring.py src/strings/literal.py src/strings/rstring.py src/strings/vstring.py src/strings/xstring.py src/strings/zstring.py \ + src/main-gdb-tail.py \ + > bin/tests/dtest-strings-xstring-gdb.py +ln -sf dtest-strings-vstring-gdb.py bin/tests/dtest-strings-vstring.elf-gdb.py +ln -sf dtest-strings-xstring-gdb.py bin/tests/dtest-strings-xstring.elf-gdb.py +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -g -O0 -gdwarf-3 -c -o obj/debug-debug/strings-rstring.pdc.o src/debug-debug/strings-rstring.cpp +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -g -O0 -gdwarf-3 -c -o obj/debug-debug/strings-vstring.pdc.o src/debug-debug/strings-vstring.cpp +cat src/main-gdb-head.py \ + src/strings/astring.py src/strings/literal.py src/strings/rstring.py src/strings/vstring.py src/strings/xstring.py src/strings/zstring.py \ + src/main-gdb-tail.py \ + > bin/tests/dtest-strings-zstring-gdb.py +ln -sf dtest-strings-zstring-gdb.py bin/tests/dtest-strings-zstring.elf-gdb.py +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -g -O0 -gdwarf-3 -c -o obj/debug-debug/strings-xstring.pdc.o src/debug-debug/strings-xstring.cpp +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/admin/admin_conf.hpp"' +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/admin/fwd.hpp"' +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -g -O0 -gdwarf-3 -c -o obj/debug-debug/strings-zstring.pdc.o src/debug-debug/strings-zstring.cpp +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/admin/globals.hpp"' +touch stamp/admin/fwd.hpp.check +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/admin/ladmin.hpp"' +touch stamp/admin/globals.hpp.check +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/ast/fwd.hpp"' +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/ast/item.hpp"' +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/ast/npc.hpp"' +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/ast/quest.hpp"' +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/ast/script.hpp"' +touch stamp/admin/ladmin.hpp.check +touch stamp/ast/fwd.hpp.check +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/char/char.hpp"' +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/char/char_conf.hpp"' +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/char/char_lan_conf.hpp"' +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/char/consts.hpp"' +touch stamp/char/consts.hpp.check +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/char/fwd.hpp"' +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/char/globals.hpp"' +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/char/inter.hpp"' +touch stamp/char/fwd.hpp.check +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/char/inter_conf.hpp"' +touch stamp/char/char_lan_conf.hpp.check +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/char/int_party.hpp"' +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/char/int_storage.hpp"' +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/compat/attr.hpp"' +touch stamp/admin/admin_conf.hpp.check +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/compat/borrow.hpp"' +touch stamp/char/int_party.hpp.check +touch stamp/char/int_storage.hpp.check +touch stamp/compat/attr.hpp.check +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/compat/cast.hpp"' +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/compat/fun.hpp"' +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/compat/fwd.hpp"' +touch stamp/ast/script.hpp.check +touch stamp/compat/cast.hpp.check +touch stamp/ast/item.hpp.check +touch stamp/compat/fwd.hpp.check +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/compat/iter.hpp"' +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/compat/memory.hpp"' +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/compat/nullpo.hpp"' +touch stamp/char/globals.hpp.check +touch stamp/ast/quest.hpp.check +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/compat/operators.hpp"' +touch stamp/ast/npc.hpp.check +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/compat/option.hpp"' +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/compat/rawmem.hpp"' +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/compat/result.hpp"' +touch stamp/compat/nullpo.hpp.check +touch stamp/compat/operators.hpp.check +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/compat/time_t.hpp"' +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/conf/install.hpp"' +touch stamp/compat/option.hpp.check +touch stamp/compat/rawmem.hpp.check +touch stamp/char/inter_conf.hpp.check +touch stamp/char/char.hpp.check +touch stamp/char/char_conf.hpp.check +touch stamp/conf/install.hpp.check +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/conf/version.hpp"' +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/diagnostics.hpp"' +touch stamp/compat/borrow.hpp.check +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/generic/array.hpp"' +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/generic/db.hpp"' +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/generic/dumb_ptr.hpp"' +touch stamp/char/inter.hpp.check +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/generic/enum.hpp"' +touch stamp/compat/fun.hpp.check +touch stamp/conf/version.hpp.check +touch stamp/diagnostics.hpp.check +touch stamp/compat/time_t.hpp.check +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/generic/fwd.hpp"' +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/generic/intern-pool.hpp"' +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/generic/matrix.hpp"' +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/generic/md5.hpp"' +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/generic/oops.hpp"' +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/generic/random.hpp"' +touch stamp/generic/fwd.hpp.check +touch stamp/compat/iter.hpp.check +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/generic/random.t.hpp"' +touch stamp/compat/memory.hpp.check +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/generic/random2.hpp"' +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/high/core.hpp"' +touch stamp/generic/dumb_ptr.hpp.check +touch stamp/generic/random.t.hpp.check +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/high/extract_mmo.hpp"' +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/high/fwd.hpp"' +touch stamp/compat/result.hpp.check +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/high/md5more.hpp"' +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/high/mmo.hpp"' +touch stamp/generic/array.hpp.check +touch stamp/high/extract_mmo.hpp.check +touch stamp/high/core.hpp.check +touch stamp/high/fwd.hpp.check +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/high/utils.hpp"' +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/ints/cmp.hpp"' +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/ints/fwd.hpp"' +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/ints/little.hpp"' +touch stamp/generic/oops.hpp.check +touch stamp/generic/enum.hpp.check +touch stamp/ints/fwd.hpp.check +touch stamp/ints/cmp.hpp.check +touch stamp/generic/matrix.hpp.check +touch stamp/high/utils.hpp.check +touch stamp/generic/db.hpp.check +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/ints/udl.hpp"' +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/ints/wrap.hpp"' +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/io/cxxstdio.hpp"' +touch stamp/ints/little.hpp.check +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/io/extract.hpp"' +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/io/dir.hpp"' +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/io/fd.hpp"' +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/io/fwd.hpp"' +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/io/line.hpp"' +touch stamp/generic/md5.hpp.check +touch stamp/generic/random.hpp.check +touch stamp/ints/udl.hpp.check +touch stamp/io/fwd.hpp.check +touch stamp/ints/wrap.hpp.check +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/io/lock.hpp"' +touch stamp/generic/intern-pool.hpp.check +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/io/read.hpp"' +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/io/span.hpp"' +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/io/tty.hpp"' +touch stamp/io/cxxstdio.hpp.check +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/io/write.hpp"' +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/login/consts.hpp"' +touch stamp/io/fd.hpp.check +touch stamp/io/dir.hpp.check +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/login/fwd.hpp"' +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/login/globals.hpp"' +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/login/login.hpp"' +touch stamp/io/tty.hpp.check +touch stamp/generic/random2.hpp.check +touch stamp/login/consts.hpp.check +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/login/login.t.hpp"' +touch stamp/login/fwd.hpp.check +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/login/login_conf.hpp"' +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/login/login_lan_conf.hpp"' +touch stamp/high/md5more.hpp.check +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/map/atcommand.hpp"' +touch stamp/io/write.hpp.check +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/map/battle.hpp"' +touch stamp/login/login.t.hpp.check +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/map/battle.t.hpp"' +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/map/battle_conf.hpp"' +touch stamp/map/atcommand.hpp.check +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/map/chrif.hpp"' +touch stamp/high/mmo.hpp.check +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/map/clif.hpp"' +touch stamp/io/extract.hpp.check +touch stamp/map/chrif.hpp.check +touch stamp/io/line.hpp.check +touch stamp/login/login_lan_conf.hpp.check +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/map/consts.hpp"' +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/map/fwd.hpp"' +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/map/globals.hpp"' +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/map/grfio.hpp"' +touch stamp/io/lock.hpp.check +touch stamp/io/read.hpp.check +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/map/intif.hpp"' +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/map/itemdb.hpp"' +touch stamp/login/globals.hpp.check +touch stamp/map/fwd.hpp.check +touch stamp/io/span.hpp.check +touch stamp/map/consts.hpp.check +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/map/map.hpp"' +touch stamp/map/grfio.hpp.check +touch stamp/map/battle.t.hpp.check +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/map/map.t.hpp"' +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/map/mapflag.hpp"' +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/map/map_conf.hpp"' +touch stamp/map/intif.hpp.check +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/map/mob.t.hpp"' +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/map/mob.hpp"' +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/map/npc-internal.hpp"' +touch stamp/login/login_conf.hpp.check +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/map/npc-parse.hpp"' +touch stamp/map/mapflag.hpp.check +touch stamp/login/login.hpp.check +touch stamp/map/mob.t.hpp.check +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/map/npc.hpp"' +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/map/party.hpp"' +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/map/path.hpp"' +touch stamp/map/npc-parse.hpp.check +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/map/pc.hpp"' +touch stamp/map/path.hpp.check +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/map/pc.t.hpp"' +touch stamp/map/battle.hpp.check +touch stamp/map/pc.t.hpp.check +touch stamp/map/globals.hpp.check +touch stamp/map/clif.hpp.check +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/map/quest.hpp"' +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/map/script-buffer.hpp"' +touch stamp/map/battle_conf.hpp.check +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/map/script-call-internal.hpp"' +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/map/script-call.hpp"' +touch stamp/map/party.hpp.check +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/map/script-call.t.hpp"' +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/map/script-fun.hpp"' +touch stamp/map/itemdb.hpp.check +touch stamp/map/map.t.hpp.check +touch stamp/map/map.hpp.check +touch stamp/map/mob.hpp.check +touch stamp/map/npc-internal.hpp.check +touch stamp/map/map_conf.hpp.check +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/map/script-parse-internal.hpp"' +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/map/script-parse.hpp"' +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/map/script-persist.hpp"' +touch stamp/map/npc.hpp.check +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/map/script-startup.hpp"' +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/map/script-startup-internal.hpp"' +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/map/skill.hpp"' +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/map/skill-pools.hpp"' +touch stamp/map/pc.hpp.check +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/map/storage.hpp"' +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/map/tmw.hpp"' +touch stamp/map/script-buffer.hpp.check +touch stamp/map/script-startup.hpp.check +touch stamp/map/skill-pools.hpp.check +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/map/trade.hpp"' +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/mmo/clif.t.hpp"' +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/mmo/config_parse.hpp"' +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/mmo/consts.hpp"' +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/mmo/cxxstdio_enums.hpp"' +touch stamp/map/tmw.hpp.check +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/mmo/enums.hpp"' +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/mmo/extract_enums.hpp"' +touch stamp/mmo/config_parse.hpp.check +touch stamp/map/script-call.t.hpp.check +touch stamp/map/script-fun.hpp.check +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/mmo/fwd.hpp"' +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/mmo/human_time_diff.hpp"' +touch stamp/map/script-call.hpp.check +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/mmo/ids.hpp"' +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/mmo/skill.t.hpp"' +touch stamp/mmo/fwd.hpp.check +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/mmo/strs.hpp"' +touch stamp/mmo/ids.hpp.check +touch stamp/map/script-parse.hpp.check +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/mmo/version.hpp"' +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/net/fwd.hpp"' +touch stamp/map/script-call-internal.hpp.check +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/net/ip.hpp"' +touch stamp/mmo/version.hpp.check +touch stamp/net/fwd.hpp.check +touch stamp/map/quest.hpp.check +touch stamp/map/script-parse-internal.hpp.check +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/net/socket.hpp"' +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/net/timer.hpp"' +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/net/timer.t.hpp"' +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/net/timestamp-utils.hpp"' +touch stamp/mmo/cxxstdio_enums.hpp.check +touch stamp/map/script-persist.hpp.check +touch stamp/map/storage.hpp.check +touch stamp/mmo/enums.hpp.check +touch stamp/map/script-startup-internal.hpp.check +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/poison.hpp"' +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/proto-base/fwd.hpp"' +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/proto-base/net-array.hpp"' +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/proto-base/net-neutral.hpp"' +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/proto-base/net-skewed-length.hpp"' +touch stamp/net/ip.hpp.check +touch stamp/map/trade.hpp.check +touch stamp/mmo/consts.hpp.check +touch stamp/poison.hpp.check +touch stamp/mmo/clif.t.hpp.check +touch stamp/mmo/skill.t.hpp.check +touch stamp/mmo/human_time_diff.hpp.check +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/proto-base/net-string.hpp"' +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/proto2/any-user.hpp"' +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/proto2/char-map.hpp"' +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/proto2/char-user.hpp"' +touch stamp/proto-base/net-skewed-length.hpp.check +touch stamp/proto-base/fwd.hpp.check +touch stamp/mmo/extract_enums.hpp.check +touch stamp/proto-base/net-neutral.hpp.check +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/proto2/fwd.hpp"' +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/proto2/login-admin.hpp"' +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/proto2/login-char.hpp"' +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/proto2/map-user.hpp"' +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/proto2/login-user.hpp"' +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/proto2/net-AccountId.hpp"' +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/proto2/net-BeingRemoveWhy.hpp"' +touch stamp/proto2/any-user.hpp.check +touch stamp/mmo/strs.hpp.check +touch stamp/proto2/fwd.hpp.check +touch stamp/map/skill.hpp.check +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/proto2/net-BlockId.hpp"' +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/proto2/net-CharData.hpp"' +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/proto2/net-CharId.hpp"' +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/proto2/net-CharKey.hpp"' +touch stamp/proto2/net-AccountId.hpp.check +touch stamp/net/timer.hpp.check +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/proto2/net-CharSelect.hpp"' +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/proto2/net-ClientVersion.hpp"' +touch stamp/proto2/net-BlockId.hpp.check +touch stamp/net/timer.t.hpp.check +touch stamp/net/timestamp-utils.hpp.check +touch stamp/proto2/net-CharId.hpp.check +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/proto2/net-DamageType.hpp"' +touch stamp/proto-base/net-array.hpp.check +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/proto2/net-DIR.hpp"' +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/proto2/net-EPOS.hpp"' +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/proto2/net-GlobalReg.hpp"' +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/proto2/net-HumanTimeDiff.hpp"' +touch stamp/proto2/net-ClientVersion.hpp.check +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/proto2/net-Item.hpp"' +touch stamp/net/socket.hpp.check +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/proto2/net-ItemLook.hpp"' +touch stamp/proto-base/net-string.hpp.check +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/proto2/net-ItemNameId.hpp"' +touch stamp/proto2/login-char.hpp.check +touch stamp/proto2/char-user.hpp.check +touch stamp/proto2/login-admin.hpp.check +touch stamp/proto2/net-ItemNameId.hpp.check +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/proto2/net-ItemType.hpp"' +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/proto2/net-LOOK.hpp"' +touch stamp/proto2/login-user.hpp.check +touch stamp/proto2/char-map.hpp.check +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/proto2/net-Opt0.hpp"' +touch stamp/proto2/net-BeingRemoveWhy.hpp.check +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/proto2/net-Opt1.hpp"' +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/proto2/net-Opt2.hpp"' +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/proto2/net-Opt3.hpp"' +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/proto2/net-PartyId.hpp"' +touch stamp/proto2/net-CharKey.hpp.check +touch stamp/proto2/net-CharSelect.hpp.check +touch stamp/proto2/net-EPOS.hpp.check +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/proto2/net-PartyMember.hpp"' +touch stamp/proto2/net-CharData.hpp.check +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/proto2/net-PartyMost.hpp"' +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/proto2/net-PickupFail.hpp"' +touch stamp/proto2/map-user.hpp.check +touch stamp/proto2/net-HumanTimeDiff.hpp.check +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/proto2/net-Point.hpp"' +touch stamp/proto2/net-DamageType.hpp.check +touch stamp/proto2/net-GlobalReg.hpp.check +touch stamp/proto2/net-Item.hpp.check +touch stamp/proto2/net-PartyId.hpp.check +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/proto2/net-SEX.hpp"' +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/proto2/net-SkillFlags.hpp"' +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/proto2/net-SkillID.hpp"' +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/proto2/net-SkillInfo.hpp"' +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/proto2/net-SkillValue.hpp"' +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/proto2/net-SP.hpp"' +touch stamp/proto2/net-DIR.hpp.check +touch stamp/proto2/net-ItemLook.hpp.check +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/proto2/net-Species.hpp"' +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/proto2/net-Stats6.hpp"' +touch stamp/proto2/net-Stats6.hpp.check +touch stamp/proto2/net-Species.hpp.check +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/proto2/net-StatusChange.hpp"' +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/proto2/net-Storage.hpp"' +touch stamp/proto2/net-Opt0.hpp.check +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/proto2/net-Version.hpp"' +touch stamp/proto2/net-LOOK.hpp.check +touch stamp/proto2/net-ItemType.hpp.check +touch stamp/proto2/net-Opt1.hpp.check +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/range/fwd.hpp"' +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/range/slice.hpp"' +touch stamp/proto2/net-Opt2.hpp.check +touch stamp/proto2/net-Opt3.hpp.check +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/sanity.hpp"' +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/sexpr/bind.hpp"' +touch stamp/range/fwd.hpp.check +touch stamp/proto2/net-Version.hpp.check +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/sexpr/fwd.hpp"' +touch stamp/sanity.hpp.check +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/sexpr/lexer.hpp"' +touch stamp/proto2/net-Point.hpp.check +touch stamp/proto2/net-PartyMember.hpp.check +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/sexpr/parser.hpp"' +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/sexpr/union.hpp"' +touch stamp/proto2/net-SkillInfo.hpp.check +touch stamp/proto2/net-SkillValue.hpp.check +touch stamp/proto2/net-SEX.hpp.check +touch stamp/range/slice.hpp.check +touch stamp/proto2/net-PickupFail.hpp.check +touch stamp/sexpr/bind.hpp.check +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/sexpr/variant.hpp"' +touch stamp/proto2/net-SkillFlags.hpp.check +touch stamp/proto2/net-PartyMost.hpp.check +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/sexpr/void.hpp"' +touch stamp/sexpr/fwd.hpp.check +touch stamp/proto2/net-SkillID.hpp.check +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/strings/all.hpp"' +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/strings/astring.hpp"' +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/strings/literal.hpp"' +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/strings/mstring.hpp"' +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/strings/base.hpp"' +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/strings/rstring.hpp"' +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/strings/pair.hpp"' +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/strings/sstring.hpp"' +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/strings/fwd.hpp"' +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/strings/tstring.hpp"' +touch stamp/proto2/net-SP.hpp.check +touch stamp/sexpr/union.hpp.check +touch stamp/sexpr/variant.hpp.check +touch stamp/sexpr/void.hpp.check +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/strings/vstring.hpp"' +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/strings/xstring.hpp"' +touch stamp/proto2/net-StatusChange.hpp.check +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/strings/zstring.hpp"' +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/tests/fdhack.hpp"' +touch stamp/strings/pair.hpp.check +touch stamp/strings/fwd.hpp.check +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/tests/fwd.hpp"' +touch stamp/proto2/net-Storage.hpp.check +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/warnings.hpp"' +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/wire/fwd.hpp"' +touch stamp/strings/mstring.hpp.check +g++-8 -std=c++0x -I . -I ./include -O2 -g -fstack-protector -fno-strict-aliasing -fvisibility=hidden -x c++ -fsyntax-only - <<< '#include "src/wire/packets.hpp"' +In file included from :1: +src/warnings.hpp:130:1: warning: unknown option after ‘#pragma GCC diagnostic’ kind [-Wpragmas] + DIAG_W(noexcept); + ^~~~~~~~~~~~~ +touch stamp/warnings.hpp.check +includes=$(grep '#include.*".*/.*"' src/admin/admin_conf.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/admin/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/admin/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/admin/fwd.hpp || { echo src/admin/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +touch stamp/tests/fwd.hpp.check +includes=$(grep '#include.*".*/.*"' src/admin/fwd.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/admin/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/admin/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/admin/fwd.hpp || { echo src/admin/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +fgrep -q ../io/fwd.hpp src/admin/fwd.hpp +fgrep -q ../mmo/fwd.hpp src/admin/fwd.hpp +touch stamp/wire/fwd.hpp.check +includes=$(grep '#include.*".*/.*"' src/admin/globals.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/admin/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/admin/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/admin/fwd.hpp || { echo src/admin/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +fgrep -q ../high/fwd.hpp src/admin/fwd.hpp +fgrep -q ../net/fwd.hpp src/admin/fwd.hpp +fgrep -q ../io/fwd.hpp src/admin/fwd.hpp +fgrep -q ../strings/fwd.hpp src/admin/fwd.hpp +fgrep -q ../mmo/fwd.hpp src/admin/fwd.hpp +touch stamp/admin/admin_conf.hpp.rank +touch stamp/admin/globals.hpp.rank +includes=$(grep '#include.*".*/.*"' src/admin/ladmin.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/admin/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/admin/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/admin/fwd.hpp || { echo src/admin/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +fgrep -q ../net/fwd.hpp src/admin/fwd.hpp +fgrep -q ../proto2/fwd.hpp src/admin/fwd.hpp +touch stamp/admin/ladmin.hpp.rank +fgrep -q ../strings/fwd.hpp src/admin/fwd.hpp +includes=$(grep '#include.*".*/.*"' src/ast/fwd.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/ast/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/ast/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/ast/fwd.hpp || { echo src/ast/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +includes=$(grep '#include.*".*/.*"' src/ast/item.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/ast/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/ast/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/ast/fwd.hpp || { echo src/ast/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +fgrep -q ../wire/fwd.hpp src/admin/fwd.hpp +touch stamp/admin/fwd.hpp.rank +fgrep -q ../compat/fwd.hpp src/ast/fwd.hpp +includes=$(grep '#include.*".*/.*"' src/ast/npc.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/ast/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/ast/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/ast/fwd.hpp || { echo src/ast/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +fgrep -q ../compat/fwd.hpp src/ast/fwd.hpp +fgrep -q ../high/fwd.hpp src/ast/fwd.hpp +fgrep -q ../io/fwd.hpp src/ast/fwd.hpp +fgrep -q ../io/fwd.hpp src/ast/fwd.hpp +includes=$(grep '#include.*".*/.*"' src/ast/quest.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/ast/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/ast/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/ast/fwd.hpp || { echo src/ast/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +fgrep -q ../compat/fwd.hpp src/ast/fwd.hpp +fgrep -q ../mmo/fwd.hpp src/ast/fwd.hpp +fgrep -q ../mmo/fwd.hpp src/ast/fwd.hpp +touch stamp/sexpr/parser.hpp.check +fgrep -q ../io/fwd.hpp src/ast/fwd.hpp +fgrep -q ../sexpr/fwd.hpp src/ast/fwd.hpp +fgrep -q ../net/fwd.hpp src/ast/fwd.hpp +fgrep -q ../mmo/fwd.hpp src/ast/fwd.hpp +fgrep -q ../compat/fwd.hpp src/ast/fwd.hpp +touch stamp/ast/item.hpp.rank +fgrep -q ../sexpr/fwd.hpp src/ast/fwd.hpp +fgrep -q ../net/fwd.hpp src/ast/fwd.hpp +fgrep -q ../io/fwd.hpp src/ast/fwd.hpp +touch stamp/sexpr/lexer.hpp.check +touch stamp/ast/fwd.hpp.rank +includes=$(grep '#include.*".*/.*"' src/ast/script.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/ast/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/ast/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/ast/fwd.hpp || { echo src/ast/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +fgrep -q ../sexpr/fwd.hpp src/ast/fwd.hpp +fgrep -q ../mmo/fwd.hpp src/ast/fwd.hpp +touch stamp/ast/npc.hpp.rank +fgrep -q ../sexpr/fwd.hpp src/ast/fwd.hpp +touch stamp/strings/base.hpp.check +includes=$(grep '#include.*".*/.*"' src/char/char.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/char/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/char/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/char/fwd.hpp || { echo src/char/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +touch stamp/strings/astring.hpp.check +fgrep -q ../compat/fwd.hpp src/ast/fwd.hpp +touch stamp/ast/quest.hpp.rank +includes=$(grep '#include.*".*/.*"' src/char/char_conf.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/char/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/char/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/char/fwd.hpp || { echo src/char/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +includes=$(grep '#include.*".*/.*"' src/char/char_lan_conf.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/char/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/char/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/char/fwd.hpp || { echo src/char/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +touch stamp/strings/literal.hpp.check +touch stamp/strings/rstring.hpp.check +fgrep -q ../io/fwd.hpp src/ast/fwd.hpp +includes=$(grep '#include.*".*/.*"' src/char/consts.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/char/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/char/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/char/fwd.hpp || { echo src/char/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +touch stamp/strings/all.hpp.check +touch stamp/strings/sstring.hpp.check +fgrep -q ../generic/fwd.hpp src/char/fwd.hpp +touch stamp/strings/tstring.hpp.check +includes=$(grep '#include.*".*/.*"' src/char/fwd.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/char/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/char/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/char/fwd.hpp || { echo src/char/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +touch stamp/ast/script.hpp.rank +fgrep -q ../io/fwd.hpp src/char/fwd.hpp +includes=$(grep '#include.*".*/.*"' src/char/inter.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/char/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/char/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/char/fwd.hpp || { echo src/char/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +fgrep -q ../high/fwd.hpp src/char/fwd.hpp +touch stamp/strings/vstring.hpp.check +includes=$(grep '#include.*".*/.*"' src/char/globals.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/char/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/char/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/char/fwd.hpp || { echo src/char/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +touch stamp/strings/xstring.hpp.check +includes=$(grep '#include.*".*/.*"' src/char/inter_conf.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/char/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/char/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/char/fwd.hpp || { echo src/char/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +fgrep -q ../net/fwd.hpp src/char/fwd.hpp +touch stamp/strings/zstring.hpp.check +fgrep -q ../ints/fwd.hpp src/char/fwd.hpp +touch stamp/char/consts.hpp.rank +includes=$(grep '#include.*".*/.*"' src/char/int_storage.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/char/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/char/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/char/fwd.hpp || { echo src/char/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +fgrep -q ../strings/fwd.hpp src/char/fwd.hpp +touch stamp/tests/fdhack.hpp.check +touch stamp/char/char_lan_conf.hpp.rank +includes=$(grep '#include.*".*/.*"' src/compat/attr.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/compat/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/compat/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/compat/fwd.hpp || { echo src/compat/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +includes=$(grep '#include.*".*/.*"' src/char/int_party.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/char/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/char/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/char/fwd.hpp || { echo src/char/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +includes=$(grep '#include.*".*/.*"' src/compat/memory.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/compat/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/compat/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/compat/fwd.hpp || { echo src/compat/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +includes=$(grep '#include.*".*/.*"' src/compat/cast.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/compat/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/compat/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/compat/fwd.hpp || { echo src/compat/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +includes=$(grep '#include.*".*/.*"' src/compat/fun.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/compat/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/compat/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/compat/fwd.hpp || { echo src/compat/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +includes=$(grep '#include.*".*/.*"' src/compat/fwd.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/compat/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/compat/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/compat/fwd.hpp || { echo src/compat/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +includes=$(grep '#include.*".*/.*"' src/compat/iter.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/compat/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/compat/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/compat/fwd.hpp || { echo src/compat/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +touch stamp/char/int_storage.hpp.rank +fgrep -q ../compat/fwd.hpp src/char/fwd.hpp +touch stamp/char/int_party.hpp.rank +fgrep -q ../generic/fwd.hpp src/char/fwd.hpp +includes=$(grep '#include.*".*/.*"' src/compat/borrow.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/compat/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/compat/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/compat/fwd.hpp || { echo src/compat/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +touch stamp/compat/cast.hpp.rank +fgrep -q ../ints/fwd.hpp src/compat/fwd.hpp +touch stamp/char/globals.hpp.rank +fgrep -q ../generic/fwd.hpp src/char/fwd.hpp +includes=$(grep '#include.*".*/.*"' src/compat/nullpo.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/compat/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/compat/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/compat/fwd.hpp || { echo src/compat/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +fgrep -q ../io/fwd.hpp src/char/fwd.hpp +fgrep -q ../high/fwd.hpp src/char/fwd.hpp +fgrep -q ../ints/fwd.hpp src/char/fwd.hpp +fgrep -q ../mmo/fwd.hpp src/char/fwd.hpp +fgrep -q ../strings/fwd.hpp src/compat/fwd.hpp +fgrep -q ../strings/fwd.hpp src/char/fwd.hpp +fgrep -q ../io/fwd.hpp src/char/fwd.hpp +touch stamp/compat/attr.hpp.rank +fgrep -q ../proto2/fwd.hpp src/char/fwd.hpp +fgrep -q ../ints/fwd.hpp src/char/fwd.hpp +touch stamp/compat/nullpo.hpp.rank +touch stamp/compat/memory.hpp.rank +touch stamp/compat/borrow.hpp.rank +fgrep -q ../mmo/fwd.hpp src/char/fwd.hpp +touch stamp/wire/packets.hpp.check +includes=$(grep '#include.*".*/.*"' src/compat/operators.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/compat/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/compat/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/compat/fwd.hpp || { echo src/compat/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +touch stamp/compat/fwd.hpp.rank +touch stamp/char/inter.hpp.rank +fgrep -q ../io/fwd.hpp src/char/fwd.hpp +touch stamp/compat/fun.hpp.rank +includes=$(grep '#include.*".*/.*"' src/compat/rawmem.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/compat/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/compat/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/compat/fwd.hpp || { echo src/compat/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +includes=$(grep '#include.*".*/.*"' src/compat/option.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/compat/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/compat/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/compat/fwd.hpp || { echo src/compat/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +includes=$(grep '#include.*".*/.*"' src/compat/result.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/compat/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/compat/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/compat/fwd.hpp || { echo src/compat/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +fgrep -q ../mmo/fwd.hpp src/char/fwd.hpp +includes=$(grep '#include.*".*/.*"' src/conf/install.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/conf/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/conf/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/conf/fwd.hpp || { echo src/conf/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +includes=$(grep '#include.*".*/.*"' src/compat/time_t.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/compat/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/compat/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/compat/fwd.hpp || { echo src/compat/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +includes=$(grep '#include.*".*/.*"' src/diagnostics.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/fwd.hpp || { echo src/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +touch stamp/char/inter_conf.hpp.rank +fgrep -q ../net/fwd.hpp src/char/fwd.hpp +fgrep -q ../net/fwd.hpp src/char/fwd.hpp +includes=$(grep '#include.*".*/.*"' src/conf/version.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/conf/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/conf/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/conf/fwd.hpp || { echo src/conf/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +includes=$(grep '#include.*".*/.*"' src/generic/db.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/generic/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/generic/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/generic/fwd.hpp || { echo src/generic/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +includes=$(grep '#include.*".*/.*"' src/generic/enum.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/generic/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/generic/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/generic/fwd.hpp || { echo src/generic/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +includes=$(grep '#include.*".*/.*"' src/generic/fwd.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/generic/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/generic/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/generic/fwd.hpp || { echo src/generic/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +includes=$(grep '#include.*".*/.*"' src/generic/array.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/generic/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/generic/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/generic/fwd.hpp || { echo src/generic/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +fgrep -q ../net/fwd.hpp src/char/fwd.hpp +touch stamp/compat/operators.hpp.rank +fgrep -q ../proto2/fwd.hpp src/char/fwd.hpp +includes=$(grep '#include.*".*/.*"' src/generic/intern-pool.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/generic/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/generic/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/generic/fwd.hpp || { echo src/generic/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +fgrep -q ../proto2/fwd.hpp src/char/fwd.hpp +includes=$(grep '#include.*".*/.*"' src/generic/dumb_ptr.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/generic/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/generic/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/generic/fwd.hpp || { echo src/generic/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +fgrep -q ../compat/fwd.hpp src/generic/fwd.hpp +touch stamp/generic/array.hpp.rank +fgrep -q ../strings/fwd.hpp src/compat/fwd.hpp +fgrep -q ../strings/fwd.hpp src/char/fwd.hpp +touch stamp/compat/option.hpp.rank +fgrep -q ../strings/fwd.hpp src/generic/fwd.hpp +touch stamp/compat/rawmem.hpp.rank +touch stamp/char/char.hpp.rank +fgrep -q ../strings/fwd.hpp src/char/fwd.hpp +touch stamp/diagnostics.hpp.rank +includes=$(grep '#include.*".*/.*"' src/generic/md5.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/generic/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/generic/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/generic/fwd.hpp || { echo src/generic/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +fgrep -q ../compat/fwd.hpp src/generic/fwd.hpp +touch stamp/generic/fwd.hpp.rank +touch stamp/char/char_conf.hpp.rank +touch stamp/conf/version.hpp.rank +touch stamp/generic/db.hpp.rank +touch stamp/conf/install.hpp.rank +fgrep -q ../wire/fwd.hpp src/char/fwd.hpp +includes=$(grep '#include.*".*/.*"' src/generic/random.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/generic/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/generic/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/generic/fwd.hpp || { echo src/generic/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +fgrep -q ../strings/fwd.hpp src/generic/fwd.hpp +includes=$(grep '#include.*".*/.*"' src/high/extract_mmo.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/high/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/high/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/high/fwd.hpp || { echo src/high/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +includes=$(grep '#include.*".*/.*"' src/generic/matrix.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/generic/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/generic/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/generic/fwd.hpp || { echo src/generic/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +includes=$(grep '#include.*".*/.*"' src/generic/random.t.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/generic/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/generic/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/generic/fwd.hpp || { echo src/generic/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +touch stamp/char/fwd.hpp.rank +includes=$(grep '#include.*".*/.*"' src/high/core.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/high/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/high/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/high/fwd.hpp || { echo src/high/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +touch stamp/compat/iter.hpp.rank +includes=$(grep '#include.*".*/.*"' src/high/fwd.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/high/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/high/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/high/fwd.hpp || { echo src/high/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +includes=$(grep '#include.*".*/.*"' src/generic/oops.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/generic/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/generic/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/generic/fwd.hpp || { echo src/generic/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +fgrep -q ../compat/fwd.hpp src/generic/fwd.hpp +fgrep -q ../compat/fwd.hpp src/generic/fwd.hpp +touch stamp/generic/random.hpp.rank +fgrep -q ../strings/fwd.hpp src/generic/fwd.hpp +touch stamp/generic/random.t.hpp.rank +includes=$(grep '#include.*".*/.*"' src/generic/random2.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/generic/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/generic/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/generic/fwd.hpp || { echo src/generic/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +touch stamp/generic/enum.hpp.rank +touch stamp/generic/dumb_ptr.hpp.rank +includes=$(grep '#include.*".*/.*"' src/high/md5more.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/high/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/high/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/high/fwd.hpp || { echo src/high/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +touch stamp/generic/matrix.hpp.rank +touch stamp/generic/intern-pool.hpp.rank +includes=$(grep '#include.*".*/.*"' src/ints/cmp.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/ints/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/ints/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/ints/fwd.hpp || { echo src/ints/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +includes=$(grep '#include.*".*/.*"' src/high/utils.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/high/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/high/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/high/fwd.hpp || { echo src/high/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +fgrep -q ../range/fwd.hpp src/high/fwd.hpp +touch stamp/generic/md5.hpp.rank +fgrep -q ../compat/fwd.hpp src/generic/fwd.hpp +includes=$(grep '#include.*".*/.*"' src/ints/little.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/ints/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/ints/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/ints/fwd.hpp || { echo src/ints/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +fgrep -q ../generic/fwd.hpp src/high/fwd.hpp +includes=$(grep '#include.*".*/.*"' src/ints/fwd.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/ints/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/ints/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/ints/fwd.hpp || { echo src/ints/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +touch stamp/generic/oops.hpp.rank +touch stamp/high/core.hpp.rank +touch stamp/high/md5more.hpp.rank +includes=$(grep '#include.*".*/.*"' src/high/mmo.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/high/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/high/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/high/fwd.hpp || { echo src/high/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +fgrep -q ../compat/fwd.hpp src/high/fwd.hpp +includes=$(grep '#include.*".*/.*"' src/io/dir.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/io/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/io/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/io/fwd.hpp || { echo src/io/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +touch stamp/ints/fwd.hpp.rank +includes=$(grep '#include.*".*/.*"' src/io/cxxstdio.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/io/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/io/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/io/fwd.hpp || { echo src/io/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +includes=$(grep '#include.*".*/.*"' src/io/fd.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/io/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/io/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/io/fwd.hpp || { echo src/io/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +includes=$(grep '#include.*".*/.*"' src/io/extract.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/io/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/io/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/io/fwd.hpp || { echo src/io/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +touch stamp/high/extract_mmo.hpp.rank +touch stamp/compat/result.hpp.rank +touch stamp/high/utils.hpp.rank +touch stamp/generic/random2.hpp.rank +fgrep -q ../ints/fwd.hpp src/compat/fwd.hpp +touch stamp/ints/cmp.hpp.rank +includes=$(grep '#include.*".*/.*"' src/io/line.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/io/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/io/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/io/fwd.hpp || { echo src/io/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +includes=$(grep '#include.*".*/.*"' src/ints/udl.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/ints/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/ints/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/ints/fwd.hpp || { echo src/ints/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +includes=$(grep '#include.*".*/.*"' src/io/fwd.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/io/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/io/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/io/fwd.hpp || { echo src/io/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +touch stamp/io/fd.hpp.rank +touch stamp/compat/time_t.hpp.rank +includes=$(grep '#include.*".*/.*"' src/io/tty.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/io/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/io/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/io/fwd.hpp || { echo src/io/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +includes=$(grep '#include.*".*/.*"' src/login/consts.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/login/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/login/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/login/fwd.hpp || { echo src/login/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +includes=$(grep '#include.*".*/.*"' src/io/lock.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/io/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/io/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/io/fwd.hpp || { echo src/io/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +fgrep -q ../compat/fwd.hpp src/io/fwd.hpp +fgrep -q ../compat/fwd.hpp src/high/fwd.hpp +includes=$(grep '#include.*".*/.*"' src/io/read.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/io/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/io/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/io/fwd.hpp || { echo src/io/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +fgrep -q ../compat/fwd.hpp src/io/fwd.hpp +touch stamp/io/cxxstdio.hpp.rank +touch stamp/io/dir.hpp.rank +includes=$(grep '#include.*".*/.*"' src/io/write.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/io/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/io/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/io/fwd.hpp || { echo src/io/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +fgrep -q ../proto2/fwd.hpp src/high/fwd.hpp +fgrep -q ../generic/fwd.hpp src/io/fwd.hpp +touch stamp/io/tty.hpp.rank +includes=$(grep '#include.*".*/.*"' src/ints/wrap.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/ints/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/ints/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/ints/fwd.hpp || { echo src/ints/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +touch stamp/login/consts.hpp.rank +includes=$(grep '#include.*".*/.*"' src/io/span.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/io/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/io/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/io/fwd.hpp || { echo src/io/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +fgrep -q ../generic/fwd.hpp src/high/fwd.hpp +touch stamp/high/mmo.hpp.rank +fgrep -q ../strings/fwd.hpp src/io/fwd.hpp +includes=$(grep '#include.*".*/.*"' src/login/login.t.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/login/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/login/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/login/fwd.hpp || { echo src/login/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +includes=$(grep '#include.*".*/.*"' src/login/login.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/login/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/login/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/login/fwd.hpp || { echo src/login/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +fgrep -q ../io/fwd.hpp src/high/fwd.hpp +touch stamp/io/write.hpp.rank +touch stamp/ints/little.hpp.rank +includes=$(grep '#include.*".*/.*"' src/login/fwd.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/login/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/login/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/login/fwd.hpp || { echo src/login/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +includes=$(grep '#include.*".*/.*"' src/login/globals.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/login/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/login/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/login/fwd.hpp || { echo src/login/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +fgrep -q ../ints/fwd.hpp src/io/fwd.hpp +fgrep -q ../mmo/fwd.hpp src/high/fwd.hpp +includes=$(grep '#include.*".*/.*"' src/login/login_conf.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/login/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/login/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/login/fwd.hpp || { echo src/login/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +touch stamp/ints/udl.hpp.rank +fgrep -q ../strings/fwd.hpp src/io/fwd.hpp +fgrep -q ../net/fwd.hpp src/high/fwd.hpp +touch stamp/io/line.hpp.rank +fgrep -q ../proto2/fwd.hpp src/high/fwd.hpp +fgrep -q ../strings/fwd.hpp src/io/fwd.hpp +fgrep -q ../compat/fwd.hpp src/login/fwd.hpp +fgrep -q ../ints/fwd.hpp src/login/fwd.hpp +touch stamp/ints/wrap.hpp.rank +touch stamp/io/span.hpp.rank +fgrep -q ../net/fwd.hpp src/login/fwd.hpp +includes=$(grep '#include.*".*/.*"' src/login/login_lan_conf.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/login/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/login/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/login/fwd.hpp || { echo src/login/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +includes=$(grep '#include.*".*/.*"' src/map/atcommand.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/map/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/map/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/map/fwd.hpp || { echo src/map/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +fgrep -q ../compat/fwd.hpp src/login/fwd.hpp +fgrep -q ../generic/fwd.hpp src/login/fwd.hpp +includes=$(grep '#include.*".*/.*"' src/map/battle.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/map/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/map/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/map/fwd.hpp || { echo src/map/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +touch stamp/login/globals.hpp.rank +fgrep -q ../range/fwd.hpp src/high/fwd.hpp +fgrep -q ../high/fwd.hpp src/login/fwd.hpp +fgrep -q ../io/fwd.hpp src/login/fwd.hpp +touch stamp/login/login.t.hpp.rank +touch stamp/map/atcommand.hpp.rank +fgrep -q ../strings/fwd.hpp src/io/fwd.hpp +fgrep -q ../generic/fwd.hpp src/login/fwd.hpp +includes=$(grep '#include.*".*/.*"' src/map/battle.t.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/map/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/map/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/map/fwd.hpp || { echo src/map/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +fgrep -q ../ints/fwd.hpp src/login/fwd.hpp +includes=$(grep '#include.*".*/.*"' src/map/fwd.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/map/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/map/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/map/fwd.hpp || { echo src/map/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +touch stamp/io/extract.hpp.rank +includes=$(grep '#include.*".*/.*"' src/map/globals.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/map/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/map/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/map/fwd.hpp || { echo src/map/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +fgrep -q ../io/fwd.hpp src/login/fwd.hpp +includes=$(grep '#include.*".*/.*"' src/map/chrif.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/map/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/map/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/map/fwd.hpp || { echo src/map/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +fgrep -q ../high/fwd.hpp src/login/fwd.hpp +fgrep -q ../strings/fwd.hpp src/high/fwd.hpp +includes=$(grep '#include.*".*/.*"' src/map/clif.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/map/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/map/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/map/fwd.hpp || { echo src/map/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +touch stamp/io/read.hpp.rank +touch stamp/map/chrif.hpp.rank +fgrep -q ../mmo/fwd.hpp src/login/fwd.hpp +fgrep -q ../mmo/fwd.hpp src/login/fwd.hpp +includes=$(grep '#include.*".*/.*"' src/map/intif.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/map/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/map/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/map/fwd.hpp || { echo src/map/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +fgrep -q ../io/fwd.hpp src/login/fwd.hpp +includes=$(grep '#include.*".*/.*"' src/map/battle_conf.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/map/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/map/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/map/fwd.hpp || { echo src/map/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +fgrep -q ../net/fwd.hpp src/login/fwd.hpp +fgrep -q ../compat/fwd.hpp src/io/fwd.hpp +fgrep -q ../strings/fwd.hpp src/io/fwd.hpp +fgrep -q ../ast/fwd.hpp src/map/fwd.hpp +touch stamp/high/fwd.hpp.rank +includes=$(grep '#include.*".*/.*"' src/map/itemdb.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/map/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/map/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/map/fwd.hpp || { echo src/map/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +fgrep -q ../generic/fwd.hpp src/map/fwd.hpp +touch stamp/io/lock.hpp.rank +fgrep -q ../mmo/fwd.hpp src/map/fwd.hpp +includes=$(grep '#include.*".*/.*"' src/map/grfio.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/map/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/map/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/map/fwd.hpp || { echo src/map/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +fgrep -q ../high/fwd.hpp src/map/fwd.hpp +includes=$(grep '#include.*".*/.*"' src/map/consts.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/map/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/map/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/map/fwd.hpp || { echo src/map/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +touch stamp/map/battle.t.hpp.rank +fgrep -q ../net/fwd.hpp src/login/fwd.hpp +fgrep -q ../compat/fwd.hpp src/map/fwd.hpp +fgrep -q ../ints/fwd.hpp src/map/fwd.hpp +fgrep -q ../mmo/fwd.hpp src/login/fwd.hpp +touch stamp/map/intif.hpp.rank +fgrep -q ../net/fwd.hpp src/login/fwd.hpp +fgrep -q ../ints/fwd.hpp src/map/fwd.hpp +fgrep -q ../net/fwd.hpp src/map/fwd.hpp +includes=$(grep '#include.*".*/.*"' src/map/map.t.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/map/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/map/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/map/fwd.hpp || { echo src/map/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +fgrep -q ../io/fwd.hpp src/map/fwd.hpp +fgrep -q ../strings/fwd.hpp src/login/fwd.hpp +touch stamp/map/battle.hpp.rank +fgrep -q ../strings/fwd.hpp src/login/fwd.hpp +includes=$(grep '#include.*".*/.*"' src/map/map.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/map/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/map/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/map/fwd.hpp || { echo src/map/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +fgrep -q ../generic/fwd.hpp src/io/fwd.hpp +fgrep -q ../high/fwd.hpp src/map/fwd.hpp +touch stamp/map/grfio.hpp.rank +fgrep -q ../mmo/fwd.hpp src/map/fwd.hpp +fgrep -q ../mmo/fwd.hpp src/map/fwd.hpp +touch stamp/login/login_conf.hpp.rank +fgrep -q ../ints/fwd.hpp src/io/fwd.hpp +fgrep -q ../proto2/fwd.hpp src/login/fwd.hpp +fgrep -q ../mmo/fwd.hpp src/map/fwd.hpp +fgrep -q ../generic/fwd.hpp src/map/fwd.hpp +fgrep -q ../generic/fwd.hpp src/map/fwd.hpp +fgrep -q ../net/fwd.hpp src/map/fwd.hpp +includes=$(grep '#include.*".*/.*"' src/map/map_conf.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/map/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/map/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/map/fwd.hpp || { echo src/map/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +fgrep -q ../net/fwd.hpp src/map/fwd.hpp +touch stamp/login/login_lan_conf.hpp.rank +fgrep -q ../net/fwd.hpp src/login/fwd.hpp +fgrep -q ../strings/fwd.hpp src/login/fwd.hpp +includes=$(grep '#include.*".*/.*"' src/map/mapflag.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/map/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/map/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/map/fwd.hpp || { echo src/map/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +touch stamp/map/itemdb.hpp.rank +fgrep -q ../strings/fwd.hpp src/io/fwd.hpp +fgrep -q ../high/fwd.hpp src/map/fwd.hpp +fgrep -q ../mmo/fwd.hpp src/map/fwd.hpp +fgrep -q ../high/fwd.hpp src/map/fwd.hpp +fgrep -q ../ints/fwd.hpp src/map/fwd.hpp +fgrep -q ../proto2/fwd.hpp src/login/fwd.hpp +touch stamp/io/fwd.hpp.rank +touch stamp/login/login.hpp.rank +includes=$(grep '#include.*".*/.*"' src/map/npc-parse.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/map/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/map/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/map/fwd.hpp || { echo src/map/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +fgrep -q ../io/fwd.hpp src/map/fwd.hpp +touch stamp/map/clif.hpp.rank +fgrep -q ../mmo/fwd.hpp src/map/fwd.hpp +fgrep -q ../generic/fwd.hpp src/map/fwd.hpp +fgrep -q ../mmo/fwd.hpp src/map/fwd.hpp +fgrep -q ../strings/fwd.hpp src/map/fwd.hpp +includes=$(grep '#include.*".*/.*"' src/map/mob.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/map/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/map/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/map/fwd.hpp || { echo src/map/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +fgrep -q ../net/fwd.hpp src/map/fwd.hpp +includes=$(grep '#include.*".*/.*"' src/map/mob.t.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/map/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/map/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/map/fwd.hpp || { echo src/map/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +fgrep -q ../ints/fwd.hpp src/map/fwd.hpp +touch stamp/map/battle_conf.hpp.rank +fgrep -q ../strings/fwd.hpp src/login/fwd.hpp +fgrep -q ../ints/fwd.hpp src/map/fwd.hpp +includes=$(grep '#include.*".*/.*"' src/map/npc.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/map/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/map/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/map/fwd.hpp || { echo src/map/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +touch stamp/map/globals.hpp.rank +includes=$(grep '#include.*".*/.*"' src/map/party.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/map/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/map/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/map/fwd.hpp || { echo src/map/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +fgrep -q ../io/fwd.hpp src/map/fwd.hpp +fgrep -q ../wire/fwd.hpp src/login/fwd.hpp +fgrep -q ../strings/fwd.hpp src/map/fwd.hpp +includes=$(grep '#include.*".*/.*"' src/map/npc-internal.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/map/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/map/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/map/fwd.hpp || { echo src/map/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +includes=$(grep '#include.*".*/.*"' src/map/path.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/map/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/map/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/map/fwd.hpp || { echo src/map/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +fgrep -q ../mmo/fwd.hpp src/map/fwd.hpp +touch stamp/map/map.t.hpp.rank +includes=$(grep '#include.*".*/.*"' src/map/quest.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/map/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/map/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/map/fwd.hpp || { echo src/map/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +touch stamp/map/mob.t.hpp.rank +fgrep -q ../generic/fwd.hpp src/map/fwd.hpp +fgrep -q ../net/fwd.hpp src/map/fwd.hpp +fgrep -q ../mmo/fwd.hpp src/map/fwd.hpp +fgrep -q ../mmo/fwd.hpp src/map/fwd.hpp +touch stamp/login/fwd.hpp.rank +touch stamp/map/npc-internal.hpp.rank +touch stamp/map/consts.hpp.rank +touch stamp/map/path.hpp.rank +fgrep -q ../proto2/fwd.hpp src/map/fwd.hpp +includes=$(grep '#include.*".*/.*"' src/map/pc.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/map/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/map/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/map/fwd.hpp || { echo src/map/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +fgrep -q ../mmo/fwd.hpp src/map/fwd.hpp +touch stamp/map/npc-parse.hpp.rank +includes=$(grep '#include.*".*/.*"' src/map/script-buffer.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/map/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/map/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/map/fwd.hpp || { echo src/map/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +includes=$(grep '#include.*".*/.*"' src/map/pc.t.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/map/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/map/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/map/fwd.hpp || { echo src/map/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +fgrep -q ../net/fwd.hpp src/map/fwd.hpp +fgrep -q ../net/fwd.hpp src/map/fwd.hpp +fgrep -q ../net/fwd.hpp src/map/fwd.hpp +fgrep -q ../strings/fwd.hpp src/map/fwd.hpp +fgrep -q ../generic/fwd.hpp src/map/fwd.hpp +touch stamp/map/mapflag.hpp.rank +includes=$(grep '#include.*".*/.*"' src/map/script-call.t.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/map/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/map/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/map/fwd.hpp || { echo src/map/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +includes=$(grep '#include.*".*/.*"' src/map/script-fun.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/map/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/map/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/map/fwd.hpp || { echo src/map/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +fgrep -q ../strings/fwd.hpp src/map/fwd.hpp +fgrep -q ../range/fwd.hpp src/map/fwd.hpp +fgrep -q ../net/fwd.hpp src/map/fwd.hpp +touch stamp/map/map.hpp.rank +fgrep -q ../mmo/fwd.hpp src/map/fwd.hpp +touch stamp/map/map_conf.hpp.rank +includes=$(grep '#include.*".*/.*"' src/map/script-call-internal.tcc | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/map/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/map/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/map/fwd.hpp || { echo src/map/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +fgrep -q ../range/fwd.hpp src/map/fwd.hpp +includes=$(grep '#include.*".*/.*"' src/map/script-parse-internal.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/map/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/map/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/map/fwd.hpp || { echo src/map/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +touch stamp/map/party.hpp.rank +touch stamp/map/mob.hpp.rank +touch stamp/map/pc.hpp.rank +includes=$(grep '#include.*".*/.*"' src/map/script-persist.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/map/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/map/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/map/fwd.hpp || { echo src/map/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +fgrep -q ../sexpr/fwd.hpp src/map/fwd.hpp +touch stamp/map/script-call-internal.tcc.rank +fgrep -q ../strings/fwd.hpp src/map/fwd.hpp +includes=$(grep '#include.*".*/.*"' src/map/script-call.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/map/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/map/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/map/fwd.hpp || { echo src/map/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +fgrep -q ../high/fwd.hpp src/map/fwd.hpp +fgrep -q ../strings/fwd.hpp src/map/fwd.hpp +touch stamp/map/pc.t.hpp.rank +touch stamp/map/script-call.t.hpp.rank +includes=$(grep '#include.*".*/.*"' src/map/script-startup-internal.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/map/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/map/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/map/fwd.hpp || { echo src/map/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +includes=$(grep '#include.*".*/.*"' src/map/skill.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/map/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/map/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/map/fwd.hpp || { echo src/map/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +includes=$(grep '#include.*".*/.*"' src/map/script-call-internal.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/map/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/map/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/map/fwd.hpp || { echo src/map/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +fgrep -q ../wire/fwd.hpp src/map/fwd.hpp +touch stamp/map/script-buffer.hpp.rank +fgrep -q ../compat/fwd.hpp src/map/fwd.hpp +includes=$(grep '#include.*".*/.*"' src/map/script-parse.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/map/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/map/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/map/fwd.hpp || { echo src/map/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +touch stamp/map/fwd.hpp.rank +includes=$(grep '#include.*".*/.*"' src/map/tmw.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/map/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/map/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/map/fwd.hpp || { echo src/map/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +fgrep -q ../compat/fwd.hpp src/map/fwd.hpp +touch stamp/map/npc.hpp.rank +fgrep -q ../mmo/fwd.hpp src/map/fwd.hpp +fgrep -q ../strings/fwd.hpp src/map/fwd.hpp +includes=$(grep '#include.*".*/.*"' src/map/storage.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/map/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/map/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/map/fwd.hpp || { echo src/map/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +includes=$(grep '#include.*".*/.*"' src/map/script-startup.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/map/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/map/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/map/fwd.hpp || { echo src/map/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +fgrep -q ../mmo/fwd.hpp src/map/fwd.hpp +touch stamp/map/quest.hpp.rank +touch stamp/map/script-startup-internal.hpp.rank +includes=$(grep '#include.*".*/.*"' src/map/skill-pools.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/map/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/map/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/map/fwd.hpp || { echo src/map/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +fgrep -q ../generic/fwd.hpp src/map/fwd.hpp +includes=$(grep '#include.*".*/.*"' src/map/trade.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/map/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/map/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/map/fwd.hpp || { echo src/map/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +includes=$(grep '#include.*".*/.*"' src/mmo/clif.t.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/mmo/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/mmo/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/mmo/fwd.hpp || { echo src/mmo/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +fgrep -q ../generic/fwd.hpp src/map/fwd.hpp +fgrep -q ../strings/fwd.hpp src/map/fwd.hpp +includes=$(grep '#include.*".*/.*"' src/mmo/config_parse.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/mmo/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/mmo/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/mmo/fwd.hpp || { echo src/mmo/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +touch stamp/map/script-fun.hpp.rank +touch stamp/map/script-parse.hpp.rank +includes=$(grep '#include.*".*/.*"' src/mmo/enums.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/mmo/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/mmo/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/mmo/fwd.hpp || { echo src/mmo/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +touch stamp/map/script-startup.hpp.rank +touch stamp/map/tmw.hpp.rank +fgrep -q ../sexpr/fwd.hpp src/map/fwd.hpp +fgrep -q ../mmo/fwd.hpp src/map/fwd.hpp +fgrep -q ../mmo/fwd.hpp src/map/fwd.hpp +fgrep -q ../mmo/fwd.hpp src/map/fwd.hpp +includes=$(grep '#include.*".*/.*"' src/mmo/cxxstdio_enums.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/mmo/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/mmo/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/mmo/fwd.hpp || { echo src/mmo/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +fgrep -q ../compat/fwd.hpp src/mmo/fwd.hpp +touch stamp/map/script-call.hpp.rank +fgrep -q ../strings/fwd.hpp src/map/fwd.hpp +touch stamp/map/script-parse-internal.hpp.rank +includes=$(grep '#include.*".*/.*"' src/mmo/extract_enums.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/mmo/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/mmo/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/mmo/fwd.hpp || { echo src/mmo/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +touch stamp/map/trade.hpp.rank +fgrep -q ../strings/fwd.hpp src/map/fwd.hpp +includes=$(grep '#include.*".*/.*"' src/mmo/consts.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/mmo/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/mmo/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/mmo/fwd.hpp || { echo src/mmo/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +includes=$(grep '#include.*".*/.*"' src/mmo/fwd.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/mmo/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/mmo/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/mmo/fwd.hpp || { echo src/mmo/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +touch stamp/mmo/config_parse.hpp.rank +fgrep -q ../mmo/fwd.hpp src/map/fwd.hpp +includes=$(grep '#include.*".*/.*"' src/mmo/ids.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/mmo/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/mmo/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/mmo/fwd.hpp || { echo src/mmo/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +fgrep -q ../proto2/fwd.hpp src/map/fwd.hpp +includes=$(grep '#include.*".*/.*"' src/mmo/strs.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/mmo/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/mmo/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/mmo/fwd.hpp || { echo src/mmo/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +includes=$(grep '#include.*".*/.*"' src/mmo/human_time_diff.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/mmo/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/mmo/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/mmo/fwd.hpp || { echo src/mmo/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +fgrep -q ../compat/fwd.hpp src/mmo/fwd.hpp +touch stamp/map/script-persist.hpp.rank +touch stamp/map/script-call-internal.hpp.rank +fgrep -q ../generic/fwd.hpp src/mmo/fwd.hpp +fgrep -q ../io/fwd.hpp src/mmo/fwd.hpp +touch stamp/map/storage.hpp.rank +fgrep -q ../generic/fwd.hpp src/mmo/fwd.hpp +fgrep -q ../generic/fwd.hpp src/mmo/fwd.hpp +includes=$(grep '#include.*".*/.*"' src/mmo/skill.t.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/mmo/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/mmo/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/mmo/fwd.hpp || { echo src/mmo/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +touch stamp/mmo/enums.hpp.rank +fgrep -q ../strings/fwd.hpp src/map/fwd.hpp +includes=$(grep '#include.*".*/.*"' src/net/fwd.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/net/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/net/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/net/fwd.hpp || { echo src/net/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +touch stamp/map/skill-pools.hpp.rank +includes=$(grep '#include.*".*/.*"' src/net/ip.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/net/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/net/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/net/fwd.hpp || { echo src/net/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +touch stamp/mmo/extract_enums.hpp.rank +touch stamp/map/skill.hpp.rank +fgrep -q ../generic/fwd.hpp src/mmo/fwd.hpp +fgrep -q ../ints/fwd.hpp src/mmo/fwd.hpp +fgrep -q ../strings/fwd.hpp src/mmo/fwd.hpp +touch stamp/mmo/cxxstdio_enums.hpp.rank +includes=$(grep '#include.*".*/.*"' src/net/timer.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/net/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/net/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/net/fwd.hpp || { echo src/net/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +includes=$(grep '#include.*".*/.*"' src/net/socket.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/net/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/net/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/net/fwd.hpp || { echo src/net/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +includes=$(grep '#include.*".*/.*"' src/mmo/version.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/mmo/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/mmo/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/mmo/fwd.hpp || { echo src/mmo/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +includes=$(grep '#include.*".*/.*"' src/net/timer.t.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/net/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/net/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/net/fwd.hpp || { echo src/net/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +fgrep -q ../net/fwd.hpp src/mmo/fwd.hpp +includes=$(grep '#include.*".*/.*"' src/net/timestamp-utils.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/net/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/net/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/net/fwd.hpp || { echo src/net/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +touch stamp/mmo/clif.t.hpp.rank +fgrep -q ../generic/fwd.hpp src/mmo/fwd.hpp +fgrep -q ../strings/fwd.hpp src/mmo/fwd.hpp +fgrep -q ../generic/fwd.hpp src/net/fwd.hpp +touch stamp/mmo/consts.hpp.rank +includes=$(grep '#include.*".*/.*"' src/proto-base/fwd.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/proto-base/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/proto-base/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/proto-base/fwd.hpp || { echo src/proto-base/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +includes=$(grep '#include.*".*/.*"' src/proto-base/net-array.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/proto-base/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/proto-base/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/proto-base/fwd.hpp || { echo src/proto-base/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +fgrep -q ../ints/fwd.hpp src/mmo/fwd.hpp +touch stamp/mmo/human_time_diff.hpp.rank +fgrep -q ../ints/fwd.hpp src/mmo/fwd.hpp +touch stamp/net/timer.hpp.rank +includes=$(grep '#include.*".*/.*"' src/proto-base/net-neutral.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/proto-base/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/proto-base/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/proto-base/fwd.hpp || { echo src/proto-base/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +touch stamp/mmo/strs.hpp.rank +touch stamp/mmo/version.hpp.rank +fgrep -q ../io/fwd.hpp src/mmo/fwd.hpp +fgrep -q ../ints/fwd.hpp src/net/fwd.hpp +touch stamp/mmo/ids.hpp.rank +touch stamp/net/ip.hpp.rank +includes=$(grep '#include.*".*/.*"' src/proto-base/net-skewed-length.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/proto-base/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/proto-base/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/proto-base/fwd.hpp || { echo src/proto-base/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +includes=$(grep '#include.*".*/.*"' src/proto-base/net-string.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/proto-base/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/proto-base/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/proto-base/fwd.hpp || { echo src/proto-base/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +fgrep -q ../net/fwd.hpp src/mmo/fwd.hpp +fgrep -q ../strings/fwd.hpp src/mmo/fwd.hpp +fgrep -q ../strings/fwd.hpp src/net/fwd.hpp +fgrep -q ../generic/fwd.hpp src/proto-base/fwd.hpp +includes=$(grep '#include.*".*/.*"' src/proto2/login-admin.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/proto2/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/proto2/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/proto2/fwd.hpp || { echo src/proto2/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +includes=$(grep '#include.*".*/.*"' src/poison.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/fwd.hpp || { echo src/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +includes=$(grep '#include.*".*/.*"' src/proto2/char-map.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/proto2/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/proto2/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/proto2/fwd.hpp || { echo src/proto2/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +touch stamp/net/timestamp-utils.hpp.rank +fgrep -q ../compat/fwd.hpp src/net/fwd.hpp +touch stamp/mmo/fwd.hpp.rank +fgrep -q ../generic/fwd.hpp src/proto-base/fwd.hpp +touch stamp/mmo/skill.t.hpp.rank +fgrep -q ../mmo/fwd.hpp src/proto-base/fwd.hpp +touch stamp/proto-base/net-array.hpp.rank +fgrep -q ../mmo/fwd.hpp src/proto-base/fwd.hpp +fgrep -q ../generic/fwd.hpp src/net/fwd.hpp +touch stamp/proto-base/net-neutral.hpp.rank +touch stamp/net/timer.t.hpp.rank +fgrep -q ../compat/fwd.hpp src/net/fwd.hpp +includes=$(grep '#include.*".*/.*"' src/proto2/login-char.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/proto2/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/proto2/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/proto2/fwd.hpp || { echo src/proto2/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +fgrep -q ../strings/fwd.hpp src/proto-base/fwd.hpp +fgrep -q ../compat/fwd.hpp src/proto2/fwd.hpp +touch stamp/poison.hpp.rank +includes=$(grep '#include.*".*/.*"' src/proto2/any-user.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/proto2/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/proto2/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/proto2/fwd.hpp || { echo src/proto2/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +fgrep -q ../io/fwd.hpp src/net/fwd.hpp +fgrep -q ../strings/fwd.hpp src/proto-base/fwd.hpp +fgrep -q ../generic/fwd.hpp src/net/fwd.hpp +fgrep -q ../strings/fwd.hpp src/net/fwd.hpp +includes=$(grep '#include.*".*/.*"' src/proto2/fwd.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/proto2/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/proto2/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/proto2/fwd.hpp || { echo src/proto2/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +fgrep -q ../ints/fwd.hpp src/proto2/fwd.hpp +includes=$(grep '#include.*".*/.*"' src/proto2/map-user.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/proto2/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/proto2/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/proto2/fwd.hpp || { echo src/proto2/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +includes=$(grep '#include.*".*/.*"' src/proto2/net-AccountId.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/proto2/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/proto2/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/proto2/fwd.hpp || { echo src/proto2/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +includes=$(grep '#include.*".*/.*"' src/proto2/net-BeingRemoveWhy.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/proto2/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/proto2/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/proto2/fwd.hpp || { echo src/proto2/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +touch stamp/net/socket.hpp.rank +fgrep -q ../mmo/fwd.hpp src/proto2/fwd.hpp +includes=$(grep '#include.*".*/.*"' src/proto2/login-user.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/proto2/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/proto2/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/proto2/fwd.hpp || { echo src/proto2/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +fgrep -q ../compat/fwd.hpp src/proto2/fwd.hpp +includes=$(grep '#include.*".*/.*"' src/proto2/net-CharId.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/proto2/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/proto2/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/proto2/fwd.hpp || { echo src/proto2/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +includes=$(grep '#include.*".*/.*"' src/proto2/net-CharData.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/proto2/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/proto2/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/proto2/fwd.hpp || { echo src/proto2/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +fgrep -q ../compat/fwd.hpp src/proto2/fwd.hpp +fgrep -q ../ints/fwd.hpp src/net/fwd.hpp +fgrep -q ../net/fwd.hpp src/proto2/fwd.hpp +fgrep -q ../ints/fwd.hpp src/proto2/fwd.hpp +fgrep -q ../proto-base/fwd.hpp src/proto2/fwd.hpp +fgrep -q ../ints/fwd.hpp src/proto2/fwd.hpp +includes=$(grep '#include.*".*/.*"' src/proto2/net-BlockId.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/proto2/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/proto2/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/proto2/fwd.hpp || { echo src/proto2/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +fgrep -q ../mmo/fwd.hpp src/proto2/fwd.hpp +touch stamp/proto-base/net-string.hpp.rank +fgrep -q ../io/fwd.hpp src/net/fwd.hpp +includes=$(grep '#include.*".*/.*"' src/proto2/char-user.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/proto2/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/proto2/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/proto2/fwd.hpp || { echo src/proto2/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +fgrep -q ../compat/fwd.hpp src/proto2/fwd.hpp +fgrep -q ../ints/fwd.hpp src/proto2/fwd.hpp +fgrep -q ../ints/fwd.hpp src/proto2/fwd.hpp +touch stamp/proto2/char-map.hpp.rank +fgrep -q ../ints/fwd.hpp src/proto2/fwd.hpp +fgrep -q ../ints/fwd.hpp src/proto2/fwd.hpp +fgrep -q ../mmo/fwd.hpp src/proto2/fwd.hpp +fgrep -q ../proto2/fwd.hpp src/net/fwd.hpp +fgrep -q ../mmo/fwd.hpp src/proto2/fwd.hpp +fgrep -q ../ints/fwd.hpp src/proto2/fwd.hpp +includes=$(grep '#include.*".*/.*"' src/proto2/net-CharKey.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/proto2/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/proto2/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/proto2/fwd.hpp || { echo src/proto2/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +fgrep -q ../net/fwd.hpp src/proto2/fwd.hpp +touch stamp/proto2/net-AccountId.hpp.rank +touch stamp/proto-base/net-skewed-length.hpp.rank +fgrep -q ../strings/fwd.hpp src/net/fwd.hpp +fgrep -q ../ints/fwd.hpp src/proto2/fwd.hpp +fgrep -q ../net/fwd.hpp src/proto2/fwd.hpp +fgrep -q ../wire/fwd.hpp src/net/fwd.hpp +includes=$(grep '#include.*".*/.*"' src/proto2/net-CharSelect.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/proto2/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/proto2/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/proto2/fwd.hpp || { echo src/proto2/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +fgrep -q ../proto-base/fwd.hpp src/proto2/fwd.hpp +fgrep -q ../mmo/fwd.hpp src/proto2/fwd.hpp +includes=$(grep '#include.*".*/.*"' src/proto2/net-ClientVersion.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/proto2/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/proto2/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/proto2/fwd.hpp || { echo src/proto2/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +fgrep -q ../ints/fwd.hpp src/proto2/fwd.hpp +fgrep -q ../mmo/fwd.hpp src/proto2/fwd.hpp +fgrep -q ../proto-base/fwd.hpp src/proto2/fwd.hpp +fgrep -q ../mmo/fwd.hpp src/proto2/fwd.hpp +touch stamp/proto-base/fwd.hpp.rank +includes=$(grep '#include.*".*/.*"' src/proto2/net-DamageType.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/proto2/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/proto2/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/proto2/fwd.hpp || { echo src/proto2/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +fgrep -q ../ints/fwd.hpp src/proto2/fwd.hpp +fgrep -q ../ints/fwd.hpp src/proto2/fwd.hpp +fgrep -q ../ints/fwd.hpp src/proto2/fwd.hpp +fgrep -q ../net/fwd.hpp src/proto2/fwd.hpp +fgrep -q ../mmo/fwd.hpp src/proto2/fwd.hpp +touch stamp/proto2/any-user.hpp.rank +fgrep -q ../mmo/fwd.hpp src/proto2/fwd.hpp +fgrep -q ../mmo/fwd.hpp src/proto2/fwd.hpp +fgrep -q ../mmo/fwd.hpp src/proto2/fwd.hpp +fgrep -q ../net/fwd.hpp src/proto2/fwd.hpp +touch stamp/proto2/login-user.hpp.rank +includes=$(grep '#include.*".*/.*"' src/proto2/net-DIR.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/proto2/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/proto2/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/proto2/fwd.hpp || { echo src/proto2/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +fgrep -q ../net/fwd.hpp src/proto2/fwd.hpp +fgrep -q ../mmo/fwd.hpp src/proto2/fwd.hpp +touch stamp/proto2/net-CharId.hpp.rank +fgrep -q ../proto-base/fwd.hpp src/proto2/fwd.hpp +fgrep -q ../proto-base/fwd.hpp src/proto2/fwd.hpp +fgrep -q ../proto-base/fwd.hpp src/proto2/fwd.hpp +fgrep -q ../proto-base/fwd.hpp src/proto2/fwd.hpp +fgrep -q ../proto-base/fwd.hpp src/proto2/fwd.hpp +touch stamp/proto2/login-char.hpp.rank +touch stamp/proto2/net-BeingRemoveWhy.hpp.rank +touch stamp/net/fwd.hpp.rank +fgrep -q ../strings/fwd.hpp src/proto2/fwd.hpp +touch stamp/proto2/net-CharSelect.hpp.rank +fgrep -q ../proto-base/fwd.hpp src/proto2/fwd.hpp +fgrep -q ../ints/fwd.hpp src/proto2/fwd.hpp +fgrep -q ../proto-base/fwd.hpp src/proto2/fwd.hpp +includes=$(grep '#include.*".*/.*"' src/proto2/net-GlobalReg.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/proto2/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/proto2/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/proto2/fwd.hpp || { echo src/proto2/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +fgrep -q ../strings/fwd.hpp src/proto2/fwd.hpp +fgrep -q ../ints/fwd.hpp src/proto2/fwd.hpp +includes=$(grep '#include.*".*/.*"' src/proto2/net-Item.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/proto2/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/proto2/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/proto2/fwd.hpp || { echo src/proto2/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +touch stamp/proto2/net-BlockId.hpp.rank +fgrep -q ../strings/fwd.hpp src/proto2/fwd.hpp +fgrep -q ../mmo/fwd.hpp src/proto2/fwd.hpp +fgrep -q ../ints/fwd.hpp src/proto2/fwd.hpp +includes=$(grep '#include.*".*/.*"' src/proto2/net-ItemLook.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/proto2/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/proto2/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/proto2/fwd.hpp || { echo src/proto2/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +fgrep -q ../ints/fwd.hpp src/proto2/fwd.hpp +fgrep -q ../net/fwd.hpp src/proto2/fwd.hpp +fgrep -q ../mmo/fwd.hpp src/proto2/fwd.hpp +touch stamp/proto2/map-user.hpp.rank +fgrep -q ../ints/fwd.hpp src/proto2/fwd.hpp +fgrep -q ../mmo/fwd.hpp src/proto2/fwd.hpp +touch stamp/proto2/login-admin.hpp.rank +touch stamp/proto2/net-CharKey.hpp.rank +fgrep -q ../proto-base/fwd.hpp src/proto2/fwd.hpp +fgrep -q ../ints/fwd.hpp src/proto2/fwd.hpp +fgrep -q ../mmo/fwd.hpp src/proto2/fwd.hpp +touch stamp/proto2/net-CharData.hpp.rank +fgrep -q ../ints/fwd.hpp src/proto2/fwd.hpp +includes=$(grep '#include.*".*/.*"' src/proto2/net-ItemType.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/proto2/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/proto2/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/proto2/fwd.hpp || { echo src/proto2/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +touch stamp/proto2/net-ClientVersion.hpp.rank +includes=$(grep '#include.*".*/.*"' src/proto2/net-HumanTimeDiff.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/proto2/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/proto2/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/proto2/fwd.hpp || { echo src/proto2/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +fgrep -q ../mmo/fwd.hpp src/proto2/fwd.hpp +includes=$(grep '#include.*".*/.*"' src/proto2/net-ItemNameId.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/proto2/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/proto2/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/proto2/fwd.hpp || { echo src/proto2/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +fgrep -q ../mmo/fwd.hpp src/proto2/fwd.hpp +fgrep -q ../proto-base/fwd.hpp src/proto2/fwd.hpp +includes=$(grep '#include.*".*/.*"' src/proto2/net-Opt2.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/proto2/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/proto2/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/proto2/fwd.hpp || { echo src/proto2/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +fgrep -q ../mmo/fwd.hpp src/proto2/fwd.hpp +includes=$(grep '#include.*".*/.*"' src/proto2/net-EPOS.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/proto2/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/proto2/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/proto2/fwd.hpp || { echo src/proto2/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +includes=$(grep '#include.*".*/.*"' src/proto2/net-Opt3.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/proto2/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/proto2/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/proto2/fwd.hpp || { echo src/proto2/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +includes=$(grep '#include.*".*/.*"' src/proto2/net-LOOK.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/proto2/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/proto2/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/proto2/fwd.hpp || { echo src/proto2/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +includes=$(grep '#include.*".*/.*"' src/proto2/net-Opt1.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/proto2/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/proto2/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/proto2/fwd.hpp || { echo src/proto2/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +includes=$(grep '#include.*".*/.*"' src/proto2/net-Opt0.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/proto2/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/proto2/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/proto2/fwd.hpp || { echo src/proto2/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +touch stamp/proto2/net-ItemLook.hpp.rank +fgrep -q ../proto-base/fwd.hpp src/proto2/fwd.hpp +touch stamp/proto2/net-GlobalReg.hpp.rank +fgrep -q ../net/fwd.hpp src/proto2/fwd.hpp +fgrep -q ../proto-base/fwd.hpp src/proto2/fwd.hpp +includes=$(grep '#include.*".*/.*"' src/proto2/net-PartyId.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/proto2/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/proto2/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/proto2/fwd.hpp || { echo src/proto2/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +touch stamp/proto2/fwd.hpp.rank +fgrep -q ../ints/fwd.hpp src/proto2/fwd.hpp +fgrep -q ../proto-base/fwd.hpp src/proto2/fwd.hpp +fgrep -q ../ints/fwd.hpp src/proto2/fwd.hpp +fgrep -q ../ints/fwd.hpp src/proto2/fwd.hpp +fgrep -q ../mmo/fwd.hpp src/proto2/fwd.hpp +touch stamp/proto2/net-DamageType.hpp.rank +touch stamp/proto2/net-DIR.hpp.rank +fgrep -q ../ints/fwd.hpp src/proto2/fwd.hpp +includes=$(grep '#include.*".*/.*"' src/proto2/net-PickupFail.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/proto2/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/proto2/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/proto2/fwd.hpp || { echo src/proto2/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +includes=$(grep '#include.*".*/.*"' src/proto2/net-PartyMost.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/proto2/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/proto2/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/proto2/fwd.hpp || { echo src/proto2/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +fgrep -q ../mmo/fwd.hpp src/proto2/fwd.hpp +fgrep -q ../strings/fwd.hpp src/proto2/fwd.hpp +fgrep -q ../ints/fwd.hpp src/proto2/fwd.hpp +touch stamp/proto2/net-Opt1.hpp.rank +fgrep -q ../ints/fwd.hpp src/proto2/fwd.hpp +fgrep -q ../ints/fwd.hpp src/proto2/fwd.hpp +touch stamp/proto2/char-user.hpp.rank +touch stamp/proto2/net-Opt2.hpp.rank +fgrep -q ../mmo/fwd.hpp src/proto2/fwd.hpp +fgrep -q ../mmo/fwd.hpp src/proto2/fwd.hpp +includes=$(grep '#include.*".*/.*"' src/proto2/net-SkillFlags.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/proto2/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/proto2/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/proto2/fwd.hpp || { echo src/proto2/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +fgrep -q ../mmo/fwd.hpp src/proto2/fwd.hpp +includes=$(grep '#include.*".*/.*"' src/proto2/net-SEX.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/proto2/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/proto2/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/proto2/fwd.hpp || { echo src/proto2/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +includes=$(grep '#include.*".*/.*"' src/proto2/net-Point.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/proto2/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/proto2/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/proto2/fwd.hpp || { echo src/proto2/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +touch stamp/proto2/net-HumanTimeDiff.hpp.rank +touch stamp/proto2/net-EPOS.hpp.rank +includes=$(grep '#include.*".*/.*"' src/proto2/net-PartyMember.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/proto2/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/proto2/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/proto2/fwd.hpp || { echo src/proto2/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +fgrep -q ../ints/fwd.hpp src/proto2/fwd.hpp +touch stamp/proto2/net-ItemNameId.hpp.rank +fgrep -q ../mmo/fwd.hpp src/proto2/fwd.hpp +includes=$(grep '#include.*".*/.*"' src/proto2/net-SkillInfo.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/proto2/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/proto2/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/proto2/fwd.hpp || { echo src/proto2/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +includes=$(grep '#include.*".*/.*"' src/proto2/net-SkillID.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/proto2/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/proto2/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/proto2/fwd.hpp || { echo src/proto2/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +fgrep -q ../mmo/fwd.hpp src/proto2/fwd.hpp +includes=$(grep '#include.*".*/.*"' src/proto2/net-SkillValue.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/proto2/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/proto2/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/proto2/fwd.hpp || { echo src/proto2/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +fgrep -q ../proto-base/fwd.hpp src/proto2/fwd.hpp +fgrep -q ../mmo/fwd.hpp src/proto2/fwd.hpp +fgrep -q ../ints/fwd.hpp src/proto2/fwd.hpp +fgrep -q ../ints/fwd.hpp src/proto2/fwd.hpp +includes=$(grep '#include.*".*/.*"' src/proto2/net-Species.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/proto2/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/proto2/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/proto2/fwd.hpp || { echo src/proto2/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +fgrep -q ../ints/fwd.hpp src/proto2/fwd.hpp +includes=$(grep '#include.*".*/.*"' src/proto2/net-Stats6.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/proto2/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/proto2/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/proto2/fwd.hpp || { echo src/proto2/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +fgrep -q ../mmo/fwd.hpp src/proto2/fwd.hpp +fgrep -q ../mmo/fwd.hpp src/proto2/fwd.hpp +touch stamp/proto2/net-PartyId.hpp.rank +fgrep -q ../ints/fwd.hpp src/proto2/fwd.hpp +fgrep -q ../ints/fwd.hpp src/proto2/fwd.hpp +fgrep -q ../ints/fwd.hpp src/proto2/fwd.hpp +fgrep -q ../proto-base/fwd.hpp src/proto2/fwd.hpp +fgrep -q ../ints/fwd.hpp src/proto2/fwd.hpp +fgrep -q ../ints/fwd.hpp src/proto2/fwd.hpp +fgrep -q ../ints/fwd.hpp src/proto2/fwd.hpp +fgrep -q ../mmo/fwd.hpp src/proto2/fwd.hpp +fgrep -q ../proto-base/fwd.hpp src/proto2/fwd.hpp +fgrep -q ../ints/fwd.hpp src/proto2/fwd.hpp +fgrep -q ../ints/fwd.hpp src/proto2/fwd.hpp +touch stamp/proto2/net-SkillValue.hpp.rank +fgrep -q ../proto-base/fwd.hpp src/proto2/fwd.hpp +fgrep -q ../mmo/fwd.hpp src/proto2/fwd.hpp +touch stamp/proto2/net-PartyMost.hpp.rank +includes=$(grep '#include.*".*/.*"' src/proto2/net-StatusChange.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/proto2/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/proto2/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/proto2/fwd.hpp || { echo src/proto2/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +fgrep -q ../mmo/fwd.hpp src/proto2/fwd.hpp +fgrep -q ../mmo/fwd.hpp src/proto2/fwd.hpp +fgrep -q ../ints/fwd.hpp src/proto2/fwd.hpp +fgrep -q ../mmo/fwd.hpp src/proto2/fwd.hpp +touch stamp/proto2/net-SEX.hpp.rank +touch stamp/proto2/net-Opt3.hpp.rank +fgrep -q ../proto-base/fwd.hpp src/proto2/fwd.hpp +touch stamp/proto2/net-Item.hpp.rank +fgrep -q ../proto-base/fwd.hpp src/proto2/fwd.hpp +touch stamp/proto2/net-ItemType.hpp.rank +fgrep -q ../strings/fwd.hpp src/proto2/fwd.hpp +fgrep -q ../ints/fwd.hpp src/proto2/fwd.hpp +fgrep -q ../mmo/fwd.hpp src/proto2/fwd.hpp +touch stamp/proto2/net-LOOK.hpp.rank +touch stamp/proto2/net-SkillInfo.hpp.rank +fgrep -q ../mmo/fwd.hpp src/proto2/fwd.hpp +includes=$(grep '#include.*".*/.*"' src/proto2/net-SP.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/proto2/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/proto2/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/proto2/fwd.hpp || { echo src/proto2/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +fgrep -q ../proto-base/fwd.hpp src/proto2/fwd.hpp +fgrep -q ../ints/fwd.hpp src/proto2/fwd.hpp +fgrep -q ../mmo/fwd.hpp src/proto2/fwd.hpp +includes=$(grep '#include.*".*/.*"' src/proto2/net-Version.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/proto2/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/proto2/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/proto2/fwd.hpp || { echo src/proto2/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +includes=$(grep '#include.*".*/.*"' src/proto2/net-Storage.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/proto2/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/proto2/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/proto2/fwd.hpp || { echo src/proto2/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +touch stamp/proto2/net-PartyMember.hpp.rank +touch stamp/proto2/net-Species.hpp.rank +includes=$(grep '#include.*".*/.*"' src/range/slice.tcc | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/range/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/range/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/range/fwd.hpp || { echo src/range/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +fgrep -q ../proto-base/fwd.hpp src/proto2/fwd.hpp +touch stamp/proto2/net-PickupFail.hpp.rank +fgrep -q ../proto-base/fwd.hpp src/proto2/fwd.hpp +touch stamp/proto2/net-SkillID.hpp.rank +includes=$(grep '#include.*".*/.*"' src/sexpr/bind.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/sexpr/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/sexpr/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/sexpr/fwd.hpp || { echo src/sexpr/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +touch stamp/proto2/net-Opt0.hpp.rank +touch stamp/proto2/net-Point.hpp.rank +fgrep -q ../mmo/fwd.hpp src/proto2/fwd.hpp +includes=$(grep '#include.*".*/.*"' src/range/slice.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/range/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/range/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/range/fwd.hpp || { echo src/range/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +includes=$(grep '#include.*".*/.*"' src/range/fwd.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/range/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/range/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/range/fwd.hpp || { echo src/range/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +touch stamp/proto2/net-Stats6.hpp.rank +fgrep -q ../ints/fwd.hpp src/proto2/fwd.hpp +touch stamp/proto2/net-SkillFlags.hpp.rank +includes=$(grep '#include.*".*/.*"' src/sanity.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/fwd.hpp || { echo src/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +fgrep -q ../ints/fwd.hpp src/proto2/fwd.hpp +includes=$(grep '#include.*".*/.*"' src/sexpr/union.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/sexpr/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/sexpr/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/sexpr/fwd.hpp || { echo src/sexpr/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +includes=$(grep '#include.*".*/.*"' src/sexpr/parser.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/sexpr/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/sexpr/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/sexpr/fwd.hpp || { echo src/sexpr/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +includes=$(grep '#include.*".*/.*"' src/sexpr/lexer.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/sexpr/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/sexpr/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/sexpr/fwd.hpp || { echo src/sexpr/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +fgrep -q ../mmo/fwd.hpp src/proto2/fwd.hpp +touch stamp/range/fwd.hpp.rank +fgrep -q ../ints/fwd.hpp src/proto2/fwd.hpp +includes=$(grep '#include.*".*/.*"' src/sexpr/variant.tcc | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/sexpr/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/sexpr/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/sexpr/fwd.hpp || { echo src/sexpr/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +touch stamp/range/slice.tcc.rank +touch stamp/sexpr/bind.hpp.rank +fgrep -q ../mmo/fwd.hpp src/proto2/fwd.hpp +includes=$(grep '#include.*".*/.*"' src/sexpr/fwd.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/sexpr/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/sexpr/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/sexpr/fwd.hpp || { echo src/sexpr/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +includes=$(grep '#include.*".*/.*"' src/sexpr/void.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/sexpr/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/sexpr/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/sexpr/fwd.hpp || { echo src/sexpr/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +fgrep -q ../proto-base/fwd.hpp src/proto2/fwd.hpp +fgrep -q ../ints/fwd.hpp src/proto2/fwd.hpp +touch stamp/range/slice.hpp.rank +includes=$(grep '#include.*".*/.*"' src/strings/astring.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/strings/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/strings/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/strings/fwd.hpp || { echo src/strings/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +fgrep -q ../mmo/fwd.hpp src/proto2/fwd.hpp +includes=$(grep '#include.*".*/.*"' src/sexpr/variant.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/sexpr/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/sexpr/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/sexpr/fwd.hpp || { echo src/sexpr/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +touch stamp/proto2/net-StatusChange.hpp.rank +fgrep -q ../io/fwd.hpp src/sexpr/fwd.hpp +fgrep -q ../mmo/fwd.hpp src/proto2/fwd.hpp +fgrep -q ../io/fwd.hpp src/sexpr/fwd.hpp +fgrep -q ../strings/fwd.hpp src/sexpr/fwd.hpp +touch stamp/proto2/net-Version.hpp.rank +includes=$(grep '#include.*".*/.*"' src/strings/all.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/strings/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/strings/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/strings/fwd.hpp || { echo src/strings/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +touch stamp/proto2/net-SP.hpp.rank +includes=$(grep '#include.*".*/.*"' src/strings/astring.tcc | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/strings/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/strings/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/strings/fwd.hpp || { echo src/strings/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +touch stamp/sanity.hpp.rank +fgrep -q ../proto-base/fwd.hpp src/proto2/fwd.hpp +touch stamp/sexpr/lexer.hpp.rank +touch stamp/sexpr/union.hpp.rank +includes=$(grep '#include.*".*/.*"' src/strings/base.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/strings/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/strings/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/strings/fwd.hpp || { echo src/strings/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +touch stamp/sexpr/void.hpp.rank +touch stamp/sexpr/variant.tcc.rank +includes=$(grep '#include.*".*/.*"' src/strings/mstring.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/strings/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/strings/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/strings/fwd.hpp || { echo src/strings/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +includes=$(grep '#include.*".*/.*"' src/strings/base.tcc | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/strings/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/strings/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/strings/fwd.hpp || { echo src/strings/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +includes=$(grep '#include.*".*/.*"' src/strings/pair.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/strings/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/strings/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/strings/fwd.hpp || { echo src/strings/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +includes=$(grep '#include.*".*/.*"' src/strings/fwd.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/strings/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/strings/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/strings/fwd.hpp || { echo src/strings/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +touch stamp/sexpr/variant.hpp.rank +touch stamp/strings/astring.hpp.rank +includes=$(grep '#include.*".*/.*"' src/strings/rstring.tcc | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/strings/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/strings/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/strings/fwd.hpp || { echo src/strings/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +includes=$(grep '#include.*".*/.*"' src/strings/literal.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/strings/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/strings/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/strings/fwd.hpp || { echo src/strings/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +touch stamp/proto2/net-Storage.hpp.rank +includes=$(grep '#include.*".*/.*"' src/strings/sstring.tcc | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/strings/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/strings/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/strings/fwd.hpp || { echo src/strings/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +touch stamp/strings/all.hpp.rank +touch stamp/strings/astring.tcc.rank +includes=$(grep '#include.*".*/.*"' src/strings/tstring.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/strings/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/strings/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/strings/fwd.hpp || { echo src/strings/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +includes=$(grep '#include.*".*/.*"' src/strings/tstring.tcc | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/strings/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/strings/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/strings/fwd.hpp || { echo src/strings/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +includes=$(grep '#include.*".*/.*"' src/strings/sstring.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/strings/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/strings/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/strings/fwd.hpp || { echo src/strings/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +touch stamp/strings/fwd.hpp.rank +touch stamp/strings/mstring.hpp.rank +touch stamp/strings/base.hpp.rank +touch stamp/strings/pair.hpp.rank +touch stamp/strings/base.tcc.rank +includes=$(grep '#include.*".*/.*"' src/strings/vstring.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/strings/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/strings/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/strings/fwd.hpp || { echo src/strings/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +fgrep -q ../io/fwd.hpp src/sexpr/fwd.hpp +touch stamp/strings/literal.hpp.rank +includes=$(grep '#include.*".*/.*"' src/strings/vstring.tcc | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/strings/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/strings/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/strings/fwd.hpp || { echo src/strings/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +includes=$(grep '#include.*".*/.*"' src/strings/xstring.tcc | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/strings/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/strings/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/strings/fwd.hpp || { echo src/strings/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +fgrep -q ../strings/fwd.hpp src/sexpr/fwd.hpp +touch stamp/strings/tstring.tcc.rank +includes=$(grep '#include.*".*/.*"' src/strings/rstring.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/strings/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/strings/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/strings/fwd.hpp || { echo src/strings/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +touch stamp/strings/rstring.tcc.rank +touch stamp/strings/sstring.tcc.rank +includes=$(grep '#include.*".*/.*"' src/strings/zstring.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/strings/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/strings/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/strings/fwd.hpp || { echo src/strings/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +touch stamp/sexpr/parser.hpp.rank +includes=$(grep '#include.*".*/.*"' src/strings/xstring.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/strings/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/strings/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/strings/fwd.hpp || { echo src/strings/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +touch stamp/strings/vstring.hpp.rank +includes=$(grep '#include.*".*/.*"' src/warnings.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/fwd.hpp || { echo src/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +touch stamp/sexpr/fwd.hpp.rank +includes=$(grep '#include.*".*/.*"' src/tests/fdhack.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/tests/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/tests/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/tests/fwd.hpp || { echo src/tests/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +touch stamp/strings/sstring.hpp.rank +includes=$(grep '#include.*".*/.*"' src/tests/fwd.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/tests/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/tests/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/tests/fwd.hpp || { echo src/tests/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +touch stamp/strings/tstring.hpp.rank +touch stamp/strings/vstring.tcc.rank +touch stamp/strings/zstring.hpp.rank +includes=$(grep '#include.*".*/.*"' src/wire/fwd.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/wire/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/wire/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/wire/fwd.hpp || { echo src/wire/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +includes=$(grep '#include.*".*/.*"' src/strings/zstring.tcc | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/strings/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/strings/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/strings/fwd.hpp || { echo src/strings/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +includes=$(grep '#include.*".*/.*"' src/wire/packets.hpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/wire/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/wire/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/wire/fwd.hpp || { echo src/wire/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +includes=$(grep '#include.*".*/.*"' src/admin/globals.cpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/admin/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/admin/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/admin/fwd.hpp || { echo src/admin/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +includes=$(grep '#include.*".*/.*"' src/admin/admin_conf.cpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/admin/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/admin/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/admin/fwd.hpp || { echo src/admin/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +fgrep -q ../io/fwd.hpp src/tests/fwd.hpp +includes=$(grep '#include.*".*/.*"' src/ast/item.cpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/ast/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/ast/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/ast/fwd.hpp || { echo src/ast/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +fgrep -q ../io/fwd.hpp src/tests/fwd.hpp +touch stamp/strings/rstring.hpp.rank +fgrep -q ../mmo/fwd.hpp src/admin/fwd.hpp +includes=$(grep '#include.*".*/.*"' src/admin/main.cpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/admin/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/admin/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/admin/fwd.hpp || { echo src/admin/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +fgrep -q ../compat/fwd.hpp src/wire/fwd.hpp +touch stamp/strings/xstring.hpp.rank +includes=$(grep '#include.*".*/.*"' src/admin/ladmin.cpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/admin/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/admin/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/admin/fwd.hpp || { echo src/admin/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +includes=$(grep '#include.*".*/.*"' src/ast/quest.cpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/ast/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/ast/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/ast/fwd.hpp || { echo src/ast/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +touch stamp/warnings.hpp.rank +fgrep -q ../strings/fwd.hpp src/tests/fwd.hpp +fgrep -q ../high/fwd.hpp src/admin/fwd.hpp +touch stamp/strings/xstring.tcc.rank +fgrep -q ../ints/fwd.hpp src/wire/fwd.hpp +fgrep -q ../strings/fwd.hpp src/admin/fwd.hpp +includes=$(grep '#include.*".*/.*"' src/ast/script.cpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/ast/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/ast/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/ast/fwd.hpp || { echo src/ast/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +touch stamp/admin/globals.cpp.rank +fgrep -q ../io/fwd.hpp src/admin/fwd.hpp +includes=$(grep '#include.*".*/.*"' src/char/char.cpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/char/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/char/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/char/fwd.hpp || { echo src/char/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +includes=$(grep '#include.*".*/.*"' src/char/char_conf.cpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/char/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/char/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/char/fwd.hpp || { echo src/char/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +includes=$(grep '#include.*".*/.*"' src/char/char_lan_conf.cpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/char/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/char/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/char/fwd.hpp || { echo src/char/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +fgrep -q ../high/fwd.hpp src/admin/fwd.hpp +fgrep -q ../io/fwd.hpp src/ast/fwd.hpp +includes=$(grep '#include.*".*/.*"' src/char/globals.cpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/char/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/char/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/char/fwd.hpp || { echo src/char/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +includes=$(grep '#include.*".*/.*"' src/ast/npc.cpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/ast/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/ast/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/ast/fwd.hpp || { echo src/ast/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +fgrep -q ../strings/fwd.hpp src/tests/fwd.hpp +fgrep -q ../high/fwd.hpp src/admin/fwd.hpp +touch stamp/strings/zstring.tcc.rank +fgrep -q ../mmo/fwd.hpp src/ast/fwd.hpp +fgrep -q ../io/fwd.hpp src/wire/fwd.hpp +fgrep -q ../io/fwd.hpp src/ast/fwd.hpp +fgrep -q ../generic/fwd.hpp src/char/fwd.hpp +fgrep -q ../high/fwd.hpp src/char/fwd.hpp +fgrep -q ../io/fwd.hpp src/admin/fwd.hpp +fgrep -q ../mmo/fwd.hpp src/admin/fwd.hpp +includes=$(grep '#include.*".*/.*"' src/char/inter.cpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/char/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/char/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/char/fwd.hpp || { echo src/char/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +touch stamp/tests/fdhack.hpp.rank +fgrep -q ../high/fwd.hpp src/char/fwd.hpp +fgrep -q ../high/fwd.hpp src/char/fwd.hpp +fgrep -q ../net/fwd.hpp src/wire/fwd.hpp +touch stamp/ast/quest.cpp.rank +touch stamp/tests/fwd.hpp.rank +includes=$(grep '#include.*".*/.*"' src/char/inter_conf.cpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/char/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/char/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/char/fwd.hpp || { echo src/char/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +touch stamp/admin/admin_conf.cpp.rank +touch stamp/admin/main.cpp.rank +includes=$(grep '#include.*".*/.*"' src/char/int_party.cpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/char/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/char/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/char/fwd.hpp || { echo src/char/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +fgrep -q ../io/fwd.hpp src/ast/fwd.hpp +touch stamp/ast/script.cpp.rank +fgrep -q ../proto2/fwd.hpp src/wire/fwd.hpp +fgrep -q ../io/fwd.hpp src/char/fwd.hpp +fgrep -q ../mmo/fwd.hpp src/admin/fwd.hpp +fgrep -q ../ints/fwd.hpp src/char/fwd.hpp +fgrep -q ../mmo/fwd.hpp src/char/fwd.hpp +fgrep -q ../generic/fwd.hpp src/char/fwd.hpp +fgrep -q ../net/fwd.hpp src/admin/fwd.hpp +fgrep -q ../high/fwd.hpp src/char/fwd.hpp +fgrep -q ../compat/fwd.hpp src/wire/fwd.hpp +touch stamp/wire/fwd.hpp.rank +fgrep -q ../io/fwd.hpp src/char/fwd.hpp +includes=$(grep '#include.*".*/.*"' src/debug-debug/compat-borrow.cpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/debug-debug/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/debug-debug/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/debug-debug/fwd.hpp || { echo src/debug-debug/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +includes=$(grep '#include.*".*/.*"' src/compat/nullpo.cpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/compat/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/compat/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/compat/fwd.hpp || { echo src/compat/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +fgrep -q ../io/fwd.hpp src/char/fwd.hpp +fgrep -q ../io/fwd.hpp src/char/fwd.hpp +fgrep -q ../mmo/fwd.hpp src/ast/fwd.hpp +includes=$(grep '#include.*".*/.*"' src/char/main.cpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/char/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/char/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/char/fwd.hpp || { echo src/char/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +fgrep -q ../generic/fwd.hpp src/char/fwd.hpp +touch stamp/char/char_lan_conf.cpp.rank +fgrep -q ../high/fwd.hpp src/char/fwd.hpp +fgrep -q ../ints/fwd.hpp src/wire/fwd.hpp +fgrep -q ../compat/fwd.hpp src/char/fwd.hpp +fgrep -q ../high/fwd.hpp src/ast/fwd.hpp +fgrep -q ../mmo/fwd.hpp src/char/fwd.hpp +includes=$(grep '#include.*".*/.*"' src/char/int_storage.cpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/char/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/char/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/char/fwd.hpp || { echo src/char/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +fgrep -q ../mmo/fwd.hpp src/char/fwd.hpp +fgrep -q ../proto2/fwd.hpp src/admin/fwd.hpp +includes=$(grep '#include.*".*/.*"' src/debug-debug/compat-option.cpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/debug-debug/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/debug-debug/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/debug-debug/fwd.hpp || { echo src/debug-debug/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +fgrep -q ../io/fwd.hpp src/char/fwd.hpp +touch stamp/char/char_conf.cpp.rank +touch stamp/compat/nullpo.cpp.rank +touch stamp/ast/item.cpp.rank +fgrep -q ../net/fwd.hpp src/wire/fwd.hpp +fgrep -q ../high/fwd.hpp src/char/fwd.hpp +fgrep -q ../io/fwd.hpp src/ast/fwd.hpp +fgrep -q ../generic/fwd.hpp src/char/fwd.hpp +touch stamp/debug-debug/compat-borrow.cpp.rank +includes=$(grep '#include.*".*/.*"' src/debug-debug/generic-dumb_ptr.cpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/debug-debug/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/debug-debug/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/debug-debug/fwd.hpp || { echo src/debug-debug/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +fgrep -q ../high/fwd.hpp src/char/fwd.hpp +includes=$(grep '#include.*".*/.*"' src/debug-debug/ints-wrap.cpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/debug-debug/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/debug-debug/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/debug-debug/fwd.hpp || { echo src/debug-debug/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +fgrep -q ../mmo/fwd.hpp src/ast/fwd.hpp +fgrep -q ../mmo/fwd.hpp src/char/fwd.hpp +fgrep -q ../net/fwd.hpp src/char/fwd.hpp +fgrep -q ../mmo/fwd.hpp src/char/fwd.hpp +fgrep -q ../proto2/fwd.hpp src/wire/fwd.hpp +fgrep -q ../proto2/fwd.hpp src/char/fwd.hpp +fgrep -q ../strings/fwd.hpp src/admin/fwd.hpp +includes=$(grep '#include.*".*/.*"' src/debug-debug/map-map.cpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/debug-debug/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/debug-debug/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/debug-debug/fwd.hpp || { echo src/debug-debug/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +fgrep -q ../generic/fwd.hpp src/char/fwd.hpp +touch stamp/debug-debug/compat-option.cpp.rank +touch stamp/char/main.cpp.rank +fgrep -q ../ints/fwd.hpp src/char/fwd.hpp +touch stamp/char/inter_conf.cpp.rank +includes=$(grep '#include.*".*/.*"' src/debug-debug/map-mapflag.cpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/debug-debug/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/debug-debug/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/debug-debug/fwd.hpp || { echo src/debug-debug/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +fgrep -q ../proto2/fwd.hpp src/char/fwd.hpp +touch stamp/wire/packets.hpp.rank +touch stamp/ast/npc.cpp.rank +fgrep -q ../high/fwd.hpp src/char/fwd.hpp +includes=$(grep '#include.*".*/.*"' src/debug-debug/map-script-persist.cpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/debug-debug/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/debug-debug/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/debug-debug/fwd.hpp || { echo src/debug-debug/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +fgrep -q ../io/fwd.hpp src/char/fwd.hpp +touch stamp/char/globals.cpp.rank +fgrep -q ../io/fwd.hpp src/char/fwd.hpp +fgrep -q ../strings/fwd.hpp src/char/fwd.hpp +touch stamp/debug-debug/map-map.cpp.rank +fgrep -q ../proto2/fwd.hpp src/char/fwd.hpp +fgrep -q ../wire/fwd.hpp src/admin/fwd.hpp +includes=$(grep '#include.*".*/.*"' src/debug-debug/mmo-ids.cpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/debug-debug/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/debug-debug/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/debug-debug/fwd.hpp || { echo src/debug-debug/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +includes=$(grep '#include.*".*/.*"' src/debug-debug/map-script-parse.cpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/debug-debug/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/debug-debug/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/debug-debug/fwd.hpp || { echo src/debug-debug/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +includes=$(grep '#include.*".*/.*"' src/debug-debug/mmo-strs.cpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/debug-debug/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/debug-debug/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/debug-debug/fwd.hpp || { echo src/debug-debug/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +fgrep -q ../mmo/fwd.hpp src/char/fwd.hpp +touch stamp/debug-debug/ints-wrap.cpp.rank +touch stamp/admin/ladmin.cpp.rank +fgrep -q ../proto2/fwd.hpp src/char/fwd.hpp +touch stamp/debug-debug/generic-dumb_ptr.cpp.rank +fgrep -q ../mmo/fwd.hpp src/char/fwd.hpp +fgrep -q ../wire/fwd.hpp src/char/fwd.hpp +fgrep -q ../strings/fwd.hpp src/char/fwd.hpp +fgrep -q ../strings/fwd.hpp src/char/fwd.hpp +touch stamp/debug-debug/map-script-persist.cpp.rank +includes=$(grep '#include.*".*/.*"' src/debug-debug/strings-astring.cpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/debug-debug/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/debug-debug/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/debug-debug/fwd.hpp || { echo src/debug-debug/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +touch stamp/char/inter.cpp.rank +fgrep -q ../wire/fwd.hpp src/char/fwd.hpp +fgrep -q ../proto2/fwd.hpp src/char/fwd.hpp +includes=$(grep '#include.*".*/.*"' src/debug-debug/net-ip.cpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/debug-debug/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/debug-debug/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/debug-debug/fwd.hpp || { echo src/debug-debug/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +includes=$(grep '#include.*".*/.*"' src/debug-debug/strings-rstring.cpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/debug-debug/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/debug-debug/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/debug-debug/fwd.hpp || { echo src/debug-debug/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +includes=$(grep '#include.*".*/.*"' src/debug-debug/strings-literal.cpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/debug-debug/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/debug-debug/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/debug-debug/fwd.hpp || { echo src/debug-debug/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +includes=$(grep '#include.*".*/.*"' src/debug-debug/net-timer.cpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/debug-debug/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/debug-debug/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/debug-debug/fwd.hpp || { echo src/debug-debug/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +touch stamp/debug-debug/map-script-parse.cpp.rank +fgrep -q ../strings/fwd.hpp src/char/fwd.hpp +fgrep -q ../wire/fwd.hpp src/char/fwd.hpp +touch stamp/debug-debug/mmo-strs.cpp.rank +includes=$(grep '#include.*".*/.*"' src/debug-debug/strings-zstring.cpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/debug-debug/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/debug-debug/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/debug-debug/fwd.hpp || { echo src/debug-debug/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +touch stamp/char/char.cpp.rank +includes=$(grep '#include.*".*/.*"' src/debug-debug/sexpr-variant.cpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/debug-debug/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/debug-debug/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/debug-debug/fwd.hpp || { echo src/debug-debug/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +includes=$(grep '#include.*".*/.*"' src/debug-debug/sexpr-parser.cpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/debug-debug/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/debug-debug/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/debug-debug/fwd.hpp || { echo src/debug-debug/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +includes=$(grep '#include.*".*/.*"' src/debug-debug/strings-xstring.cpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/debug-debug/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/debug-debug/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/debug-debug/fwd.hpp || { echo src/debug-debug/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +touch stamp/debug-debug/net-ip.cpp.rank +touch stamp/debug-debug/mmo-ids.cpp.rank +includes=$(grep '#include.*".*/.*"' src/generic/md5.cpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/generic/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/generic/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/generic/fwd.hpp || { echo src/generic/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +touch stamp/debug-debug/net-timer.cpp.rank +touch stamp/debug-debug/strings-zstring.cpp.rank +touch stamp/debug-debug/strings-literal.cpp.rank +touch stamp/debug-debug/sexpr-variant.cpp.rank +touch stamp/debug-debug/strings-rstring.cpp.rank +includes=$(grep '#include.*".*/.*"' src/generic/random.cpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/generic/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/generic/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/generic/fwd.hpp || { echo src/generic/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +includes=$(grep '#include.*".*/.*"' src/debug-debug/strings-vstring.cpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/debug-debug/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/debug-debug/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/debug-debug/fwd.hpp || { echo src/debug-debug/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +includes=$(grep '#include.*".*/.*"' src/high/md5more.cpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/high/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/high/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/high/fwd.hpp || { echo src/high/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +fgrep -q ../wire/fwd.hpp src/char/fwd.hpp +includes=$(grep '#include.*".*/.*"' src/generic/oops.cpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/generic/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/generic/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/generic/fwd.hpp || { echo src/generic/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +touch stamp/debug-debug/strings-xstring.cpp.rank +fgrep -q ../compat/fwd.hpp src/generic/fwd.hpp +touch stamp/char/int_storage.cpp.rank +includes=$(grep '#include.*".*/.*"' src/high/extract_mmo.cpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/high/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/high/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/high/fwd.hpp || { echo src/high/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +includes=$(grep '#include.*".*/.*"' src/high/core.cpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/high/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/high/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/high/fwd.hpp || { echo src/high/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +includes=$(grep '#include.*".*/.*"' src/io/extract.cpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/io/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/io/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/io/fwd.hpp || { echo src/io/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +fgrep -q ../strings/fwd.hpp src/generic/fwd.hpp +touch stamp/generic/random.cpp.rank +touch stamp/char/int_party.cpp.rank +touch stamp/generic/md5.cpp.rank +includes=$(grep '#include.*".*/.*"' src/io/line.cpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/io/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/io/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/io/fwd.hpp || { echo src/io/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +includes=$(grep '#include.*".*/.*"' src/io/fd.cpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/io/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/io/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/io/fwd.hpp || { echo src/io/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +fgrep -q ../compat/fwd.hpp src/high/fwd.hpp +includes=$(grep '#include.*".*/.*"' src/io/lock.cpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/io/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/io/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/io/fwd.hpp || { echo src/io/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +includes=$(grep '#include.*".*/.*"' src/high/utils.cpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/high/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/high/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/high/fwd.hpp || { echo src/high/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +touch stamp/debug-debug/map-mapflag.cpp.rank +includes=$(grep '#include.*".*/.*"' src/io/dir.cpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/io/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/io/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/io/fwd.hpp || { echo src/io/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +includes=$(grep '#include.*".*/.*"' src/io/span.cpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/io/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/io/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/io/fwd.hpp || { echo src/io/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +fgrep -q ../strings/fwd.hpp src/io/fwd.hpp +includes=$(grep '#include.*".*/.*"' src/io/read.cpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/io/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/io/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/io/fwd.hpp || { echo src/io/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +touch stamp/debug-debug/sexpr-parser.cpp.rank +touch stamp/generic/oops.cpp.rank +includes=$(grep '#include.*".*/.*"' src/io/write.cpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/io/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/io/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/io/fwd.hpp || { echo src/io/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +touch stamp/io/line.cpp.rank +includes=$(grep '#include.*".*/.*"' src/login/globals.cpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/login/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/login/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/login/fwd.hpp || { echo src/login/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +fgrep -q ../strings/fwd.hpp src/io/fwd.hpp +fgrep -q ../strings/fwd.hpp src/io/fwd.hpp +fgrep -q ../io/fwd.hpp src/high/fwd.hpp +fgrep -q ../io/fwd.hpp src/high/fwd.hpp +fgrep -q ../strings/fwd.hpp src/io/fwd.hpp +fgrep -q ../io/fwd.hpp src/high/fwd.hpp +fgrep -q ../strings/fwd.hpp src/io/fwd.hpp +touch stamp/debug-debug/strings-vstring.cpp.rank +fgrep -q ../strings/fwd.hpp src/high/fwd.hpp +fgrep -q ../net/fwd.hpp src/high/fwd.hpp +fgrep -q ../strings/fwd.hpp src/io/fwd.hpp +fgrep -q ../mmo/fwd.hpp src/high/fwd.hpp +fgrep -q ../generic/fwd.hpp src/login/fwd.hpp +touch stamp/high/utils.cpp.rank +touch stamp/debug-debug/strings-astring.cpp.rank +fgrep -q ../generic/fwd.hpp src/high/fwd.hpp +includes=$(grep '#include.*".*/.*"' src/login/login_conf.cpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/login/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/login/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/login/fwd.hpp || { echo src/login/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +fgrep -q ../strings/fwd.hpp src/io/fwd.hpp +fgrep -q ../strings/fwd.hpp src/io/fwd.hpp +touch stamp/high/extract_mmo.cpp.rank +touch stamp/io/lock.cpp.rank +touch stamp/io/span.cpp.rank +touch stamp/io/extract.cpp.rank +touch stamp/io/dir.cpp.rank +includes=$(grep '#include.*".*/.*"' src/login/login.cpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/login/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/login/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/login/fwd.hpp || { echo src/login/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +fgrep -q ../io/fwd.hpp src/high/fwd.hpp +touch stamp/io/read.cpp.rank +includes=$(grep '#include.*".*/.*"' src/login/login_lan_conf.cpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/login/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/login/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/login/fwd.hpp || { echo src/login/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +includes=$(grep '#include.*".*/.*"' src/map/atcommand.cpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/map/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/map/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/map/fwd.hpp || { echo src/map/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +fgrep -q ../net/fwd.hpp src/high/fwd.hpp +fgrep -q ../high/fwd.hpp src/login/fwd.hpp +touch stamp/login/globals.cpp.rank +touch stamp/io/write.cpp.rank +includes=$(grep '#include.*".*/.*"' src/login/main.cpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/login/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/login/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/login/fwd.hpp || { echo src/login/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +includes=$(grep '#include.*".*/.*"' src/map/battle_conf.cpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/map/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/map/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/map/fwd.hpp || { echo src/map/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +fgrep -q ../io/fwd.hpp src/login/fwd.hpp +includes=$(grep '#include.*".*/.*"' src/map/clif.cpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/map/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/map/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/map/fwd.hpp || { echo src/map/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +includes=$(grep '#include.*".*/.*"' src/map/battle.cpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/map/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/map/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/map/fwd.hpp || { echo src/map/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +includes=$(grep '#include.*".*/.*"' src/map/globals.cpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/map/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/map/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/map/fwd.hpp || { echo src/map/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +fgrep -q ../generic/fwd.hpp src/login/fwd.hpp +touch stamp/high/md5more.cpp.rank +includes=$(grep '#include.*".*/.*"' src/map/intif.cpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/map/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/map/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/map/fwd.hpp || { echo src/map/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +fgrep -q ../high/fwd.hpp src/map/fwd.hpp +includes=$(grep '#include.*".*/.*"' src/map/chrif.cpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/map/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/map/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/map/fwd.hpp || { echo src/map/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +fgrep -q ../ast/fwd.hpp src/map/fwd.hpp +fgrep -q ../mmo/fwd.hpp src/login/fwd.hpp +fgrep -q ../strings/fwd.hpp src/high/fwd.hpp +fgrep -q ../compat/fwd.hpp src/map/fwd.hpp +fgrep -q ../high/fwd.hpp src/login/fwd.hpp +fgrep -q ../generic/fwd.hpp src/map/fwd.hpp +fgrep -q ../io/fwd.hpp src/map/fwd.hpp +includes=$(grep '#include.*".*/.*"' src/map/grfio.cpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/map/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/map/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/map/fwd.hpp || { echo src/map/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +includes=$(grep '#include.*".*/.*"' src/map/itemdb.cpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/map/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/map/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/map/fwd.hpp || { echo src/map/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +fgrep -q ../high/fwd.hpp src/login/fwd.hpp +includes=$(grep '#include.*".*/.*"' src/map/main.cpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/map/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/map/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/map/fwd.hpp || { echo src/map/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +fgrep -q ../high/fwd.hpp src/login/fwd.hpp +includes=$(grep '#include.*".*/.*"' src/map/map.cpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/map/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/map/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/map/fwd.hpp || { echo src/map/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +fgrep -q ../high/fwd.hpp src/map/fwd.hpp +touch stamp/high/core.cpp.rank +touch stamp/login/login_conf.cpp.rank +fgrep -q ../mmo/fwd.hpp src/map/fwd.hpp +touch stamp/io/fd.cpp.rank +fgrep -q ../compat/fwd.hpp src/map/fwd.hpp +fgrep -q ../ints/fwd.hpp src/login/fwd.hpp +touch stamp/login/main.cpp.rank +fgrep -q ../compat/fwd.hpp src/map/fwd.hpp +fgrep -q ../io/fwd.hpp src/map/fwd.hpp +fgrep -q ../ints/fwd.hpp src/map/fwd.hpp +includes=$(grep '#include.*".*/.*"' src/map/mapflag.cpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/map/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/map/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/map/fwd.hpp || { echo src/map/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +touch stamp/map/battle_conf.cpp.rank +fgrep -q ../io/fwd.hpp src/login/fwd.hpp +fgrep -q ../high/fwd.hpp src/map/fwd.hpp +fgrep -q ../high/fwd.hpp src/map/fwd.hpp +includes=$(grep '#include.*".*/.*"' src/map/map_conf.cpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/map/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/map/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/map/fwd.hpp || { echo src/map/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +fgrep -q ../ast/fwd.hpp src/map/fwd.hpp +fgrep -q ../io/fwd.hpp src/login/fwd.hpp +fgrep -q ../compat/fwd.hpp src/map/fwd.hpp +fgrep -q ../high/fwd.hpp src/map/fwd.hpp +fgrep -q ../high/fwd.hpp src/map/fwd.hpp +includes=$(grep '#include.*".*/.*"' src/map/mob.cpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/map/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/map/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/map/fwd.hpp || { echo src/map/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +fgrep -q ../proto2/fwd.hpp src/map/fwd.hpp +fgrep -q ../io/fwd.hpp src/map/fwd.hpp +fgrep -q ../io/fwd.hpp src/map/fwd.hpp +fgrep -q ../compat/fwd.hpp src/map/fwd.hpp +fgrep -q ../io/fwd.hpp src/map/fwd.hpp +fgrep -q ../generic/fwd.hpp src/map/fwd.hpp +fgrep -q ../compat/fwd.hpp src/map/fwd.hpp +touch stamp/map/globals.cpp.rank +includes=$(grep '#include.*".*/.*"' src/map/npc-parse.cpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/map/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/map/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/map/fwd.hpp || { echo src/map/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +fgrep -q ../io/fwd.hpp src/map/fwd.hpp +fgrep -q ../strings/fwd.hpp src/map/fwd.hpp +includes=$(grep '#include.*".*/.*"' src/map/npc.cpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/map/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/map/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/map/fwd.hpp || { echo src/map/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +fgrep -q ../generic/fwd.hpp src/map/fwd.hpp +fgrep -q ../net/fwd.hpp src/map/fwd.hpp +fgrep -q ../mmo/fwd.hpp src/login/fwd.hpp +fgrep -q ../mmo/fwd.hpp src/login/fwd.hpp +fgrep -q ../generic/fwd.hpp src/map/fwd.hpp +fgrep -q ../high/fwd.hpp src/map/fwd.hpp +fgrep -q ../compat/fwd.hpp src/map/fwd.hpp +fgrep -q ../mmo/fwd.hpp src/map/fwd.hpp +touch stamp/login/login_lan_conf.cpp.rank +fgrep -q ../high/fwd.hpp src/map/fwd.hpp +touch stamp/map/main.cpp.rank +fgrep -q ../generic/fwd.hpp src/map/fwd.hpp +fgrep -q ../strings/fwd.hpp src/map/fwd.hpp +fgrep -q ../generic/fwd.hpp src/map/fwd.hpp +fgrep -q ../net/fwd.hpp src/login/fwd.hpp +fgrep -q ../high/fwd.hpp src/map/fwd.hpp +fgrep -q ../compat/fwd.hpp src/map/fwd.hpp +fgrep -q ../io/fwd.hpp src/map/fwd.hpp +fgrep -q ../mmo/fwd.hpp src/map/fwd.hpp +fgrep -q ../ints/fwd.hpp src/map/fwd.hpp +includes=$(grep '#include.*".*/.*"' src/map/party.cpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/map/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/map/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/map/fwd.hpp || { echo src/map/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +fgrep -q ../io/fwd.hpp src/map/fwd.hpp +fgrep -q ../io/fwd.hpp src/map/fwd.hpp +touch stamp/map/grfio.cpp.rank +fgrep -q ../proto2/fwd.hpp src/map/fwd.hpp +fgrep -q ../net/fwd.hpp src/map/fwd.hpp +touch stamp/map/mapflag.cpp.rank +fgrep -q ../mmo/fwd.hpp src/map/fwd.hpp +fgrep -q ../mmo/fwd.hpp src/map/fwd.hpp +fgrep -q ../generic/fwd.hpp src/map/fwd.hpp +fgrep -q ../high/fwd.hpp src/map/fwd.hpp +fgrep -q ../io/fwd.hpp src/map/fwd.hpp +fgrep -q ../net/fwd.hpp src/map/fwd.hpp +fgrep -q ../proto2/fwd.hpp src/login/fwd.hpp +includes=$(grep '#include.*".*/.*"' src/map/path.cpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/map/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/map/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/map/fwd.hpp || { echo src/map/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +fgrep -q ../strings/fwd.hpp src/map/fwd.hpp +fgrep -q ../io/fwd.hpp src/map/fwd.hpp +fgrep -q ../mmo/fwd.hpp src/map/fwd.hpp +fgrep -q ../strings/fwd.hpp src/map/fwd.hpp +fgrep -q ../ast/fwd.hpp src/map/fwd.hpp +touch stamp/map/map_conf.cpp.rank +fgrep -q ../proto2/fwd.hpp src/map/fwd.hpp +fgrep -q ../compat/fwd.hpp src/map/fwd.hpp +fgrep -q ../io/fwd.hpp src/map/fwd.hpp +fgrep -q ../strings/fwd.hpp src/login/fwd.hpp +fgrep -q ../io/fwd.hpp src/map/fwd.hpp +fgrep -q ../mmo/fwd.hpp src/map/fwd.hpp +fgrep -q ../strings/fwd.hpp src/map/fwd.hpp +fgrep -q ../compat/fwd.hpp src/map/fwd.hpp +fgrep -q ../wire/fwd.hpp src/map/fwd.hpp +fgrep -q ../generic/fwd.hpp src/map/fwd.hpp +fgrep -q ../wire/fwd.hpp src/login/fwd.hpp +includes=$(grep '#include.*".*/.*"' src/map/pc.cpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/map/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/map/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/map/fwd.hpp || { echo src/map/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +fgrep -q ../strings/fwd.hpp src/map/fwd.hpp +fgrep -q ../proto2/fwd.hpp src/map/fwd.hpp +fgrep -q ../compat/fwd.hpp src/map/fwd.hpp +includes=$(grep '#include.*".*/.*"' src/map/script-call.cpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/map/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/map/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/map/fwd.hpp || { echo src/map/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +fgrep -q ../mmo/fwd.hpp src/map/fwd.hpp +touch stamp/map/intif.cpp.rank +touch stamp/map/itemdb.cpp.rank +fgrep -q ../net/fwd.hpp src/map/fwd.hpp +fgrep -q ../generic/fwd.hpp src/map/fwd.hpp +fgrep -q ../strings/fwd.hpp src/map/fwd.hpp +fgrep -q ../io/fwd.hpp src/map/fwd.hpp +fgrep -q ../high/fwd.hpp src/map/fwd.hpp +fgrep -q ../net/fwd.hpp src/map/fwd.hpp +includes=$(grep '#include.*".*/.*"' src/map/script-parse.cpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/map/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/map/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/map/fwd.hpp || { echo src/map/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +fgrep -q ../net/fwd.hpp src/map/fwd.hpp +fgrep -q ../wire/fwd.hpp src/map/fwd.hpp +fgrep -q ../io/fwd.hpp src/map/fwd.hpp +fgrep -q ../wire/fwd.hpp src/map/fwd.hpp +fgrep -q ../strings/fwd.hpp src/map/fwd.hpp +fgrep -q ../mmo/fwd.hpp src/map/fwd.hpp +touch stamp/map/battle.cpp.rank +touch stamp/map/chrif.cpp.rank +fgrep -q ../compat/fwd.hpp src/map/fwd.hpp +fgrep -q ../proto2/fwd.hpp src/map/fwd.hpp +includes=$(grep '#include.*".*/.*"' src/map/quest.cpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/map/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/map/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/map/fwd.hpp || { echo src/map/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +fgrep -q ../mmo/fwd.hpp src/map/fwd.hpp +fgrep -q ../mmo/fwd.hpp src/map/fwd.hpp +touch stamp/map/mob.cpp.rank +includes=$(grep '#include.*".*/.*"' src/map/skill-pools.cpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/map/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/map/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/map/fwd.hpp || { echo src/map/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +fgrep -q ../net/fwd.hpp src/map/fwd.hpp +fgrep -q ../generic/fwd.hpp src/map/fwd.hpp +fgrep -q ../high/fwd.hpp src/map/fwd.hpp +touch stamp/login/login.cpp.rank +fgrep -q ../net/fwd.hpp src/map/fwd.hpp +touch stamp/map/clif.cpp.rank +fgrep -q ../strings/fwd.hpp src/map/fwd.hpp +fgrep -q ../strings/fwd.hpp src/map/fwd.hpp +fgrep -q ../high/fwd.hpp src/map/fwd.hpp +fgrep -q ../strings/fwd.hpp src/map/fwd.hpp +fgrep -q ../strings/fwd.hpp src/map/fwd.hpp +includes=$(grep '#include.*".*/.*"' src/map/script-fun.cpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/map/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/map/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/map/fwd.hpp || { echo src/map/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +fgrep -q ../ast/fwd.hpp src/map/fwd.hpp +touch stamp/map/map.cpp.rank +fgrep -q ../generic/fwd.hpp src/map/fwd.hpp +includes=$(grep '#include.*".*/.*"' src/map/storage.cpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/map/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/map/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/map/fwd.hpp || { echo src/map/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +includes=$(grep '#include.*".*/.*"' src/map/skill.cpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/map/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/map/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/map/fwd.hpp || { echo src/map/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +touch stamp/map/path.cpp.rank +fgrep -q ../ast/fwd.hpp src/map/fwd.hpp +includes=$(grep '#include.*".*/.*"' src/map/script-startup.cpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/map/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/map/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/map/fwd.hpp || { echo src/map/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +touch stamp/map/npc.cpp.rank +includes=$(grep '#include.*".*/.*"' src/map/trade.cpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/map/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/map/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/map/fwd.hpp || { echo src/map/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +fgrep -q ../strings/fwd.hpp src/map/fwd.hpp +fgrep -q ../io/fwd.hpp src/map/fwd.hpp +includes=$(grep '#include.*".*/.*"' src/map/tmw.cpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/map/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/map/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/map/fwd.hpp || { echo src/map/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +fgrep -q ../generic/fwd.hpp src/map/fwd.hpp +fgrep -q ../generic/fwd.hpp src/map/fwd.hpp +fgrep -q ../io/fwd.hpp src/map/fwd.hpp +includes=$(grep '#include.*".*/.*"' src/mmo/extract_enums.cpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/mmo/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/mmo/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/mmo/fwd.hpp || { echo src/mmo/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +includes=$(grep '#include.*".*/.*"' src/mmo/config_parse.cpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/mmo/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/mmo/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/mmo/fwd.hpp || { echo src/mmo/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +fgrep -q ../generic/fwd.hpp src/map/fwd.hpp +fgrep -q ../mmo/fwd.hpp src/map/fwd.hpp +fgrep -q ../io/fwd.hpp src/map/fwd.hpp +fgrep -q ../compat/fwd.hpp src/map/fwd.hpp +fgrep -q ../compat/fwd.hpp src/map/fwd.hpp +touch stamp/map/atcommand.cpp.rank +fgrep -q ../io/fwd.hpp src/map/fwd.hpp +touch stamp/map/party.cpp.rank +fgrep -q ../compat/fwd.hpp src/map/fwd.hpp +fgrep -q ../io/fwd.hpp src/map/fwd.hpp +fgrep -q ../net/fwd.hpp src/map/fwd.hpp +fgrep -q ../generic/fwd.hpp src/map/fwd.hpp +fgrep -q ../io/fwd.hpp src/map/fwd.hpp +fgrep -q ../mmo/fwd.hpp src/map/fwd.hpp +touch stamp/map/script-call.cpp.rank +fgrep -q ../io/fwd.hpp src/map/fwd.hpp +fgrep -q ../mmo/fwd.hpp src/map/fwd.hpp +fgrep -q ../compat/fwd.hpp src/mmo/fwd.hpp +includes=$(grep '#include.*".*/.*"' src/mmo/human_time_diff.cpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/mmo/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/mmo/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/mmo/fwd.hpp || { echo src/mmo/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +includes=$(grep '#include.*".*/.*"' src/mmo/ids.cpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/mmo/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/mmo/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/mmo/fwd.hpp || { echo src/mmo/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +fgrep -q ../io/fwd.hpp src/map/fwd.hpp +fgrep -q ../compat/fwd.hpp src/map/fwd.hpp +fgrep -q ../strings/fwd.hpp src/map/fwd.hpp +fgrep -q ../mmo/fwd.hpp src/map/fwd.hpp +fgrep -q ../mmo/fwd.hpp src/map/fwd.hpp +fgrep -q ../high/fwd.hpp src/map/fwd.hpp +fgrep -q ../strings/fwd.hpp src/map/fwd.hpp +fgrep -q ../mmo/fwd.hpp src/map/fwd.hpp +touch stamp/mmo/extract_enums.cpp.rank +fgrep -q ../strings/fwd.hpp src/map/fwd.hpp +fgrep -q ../mmo/fwd.hpp src/map/fwd.hpp +fgrep -q ../io/fwd.hpp src/mmo/fwd.hpp +fgrep -q ../mmo/fwd.hpp src/map/fwd.hpp +fgrep -q ../strings/fwd.hpp src/map/fwd.hpp +includes=$(grep '#include.*".*/.*"' src/net/ip.cpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/net/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/net/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/net/fwd.hpp || { echo src/net/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +includes=$(grep '#include.*".*/.*"' src/mmo/version.cpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/mmo/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/mmo/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/mmo/fwd.hpp || { echo src/mmo/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +touch stamp/map/npc-parse.cpp.rank +touch stamp/map/skill-pools.cpp.rank +fgrep -q ../generic/fwd.hpp src/map/fwd.hpp +fgrep -q ../compat/fwd.hpp src/map/fwd.hpp +fgrep -q ../strings/fwd.hpp src/mmo/fwd.hpp +touch stamp/map/script-startup.cpp.rank +fgrep -q ../io/fwd.hpp src/mmo/fwd.hpp +fgrep -q ../net/fwd.hpp src/map/fwd.hpp +touch stamp/mmo/config_parse.cpp.rank +fgrep -q ../net/fwd.hpp src/map/fwd.hpp +fgrep -q ../io/fwd.hpp src/map/fwd.hpp +touch stamp/map/script-parse.cpp.rank +fgrep -q ../io/fwd.hpp src/mmo/fwd.hpp +touch stamp/map/quest.cpp.rank +fgrep -q ../proto2/fwd.hpp src/map/fwd.hpp +fgrep -q ../io/fwd.hpp src/net/fwd.hpp +includes=$(grep '#include.*".*/.*"' src/mmo/strs.cpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/mmo/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/mmo/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/mmo/fwd.hpp || { echo src/mmo/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +touch stamp/mmo/ids.cpp.rank +fgrep -q ../io/fwd.hpp src/map/fwd.hpp +touch stamp/map/storage.cpp.rank +fgrep -q ../mmo/fwd.hpp src/map/fwd.hpp +fgrep -q ../strings/fwd.hpp src/map/fwd.hpp +fgrep -q ../strings/fwd.hpp src/net/fwd.hpp +touch stamp/mmo/human_time_diff.cpp.rank +fgrep -q ../net/fwd.hpp src/map/fwd.hpp +includes=$(grep '#include.*".*/.*"' src/net/socket.cpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/net/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/net/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/net/fwd.hpp || { echo src/net/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +touch stamp/map/pc.cpp.rank +fgrep -q ../io/fwd.hpp src/mmo/fwd.hpp +includes=$(grep '#include.*".*/.*"' src/net/timestamp-utils.cpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/net/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/net/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/net/fwd.hpp || { echo src/net/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +includes=$(grep '#include.*".*/.*"' src/net/timer.cpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/net/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/net/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/net/fwd.hpp || { echo src/net/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +fgrep -q ../strings/fwd.hpp src/map/fwd.hpp +touch stamp/map/trade.cpp.rank +touch stamp/net/ip.cpp.rank +fgrep -q ../generic/fwd.hpp src/map/fwd.hpp +includes=$(grep '#include.*".*/.*"' src/sexpr/lexer.cpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/sexpr/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/sexpr/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/sexpr/fwd.hpp || { echo src/sexpr/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +fgrep -q ../io/fwd.hpp src/mmo/fwd.hpp +includes=$(grep '#include.*".*/.*"' src/sexpr/parser.cpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/sexpr/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/sexpr/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/sexpr/fwd.hpp || { echo src/sexpr/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +fgrep -q ../strings/fwd.hpp src/map/fwd.hpp +fgrep -q ../high/fwd.hpp src/map/fwd.hpp +includes=$(grep '#include.*".*/.*"' src/strings/mstring.cpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/strings/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/strings/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/strings/fwd.hpp || { echo src/strings/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +includes=$(grep '#include.*".*/.*"' src/strings/rstring.cpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/strings/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/strings/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/strings/fwd.hpp || { echo src/strings/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +fgrep -q ../compat/fwd.hpp src/net/fwd.hpp +includes=$(grep '#include.*".*/.*"' src/strings/sstring.cpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/strings/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/strings/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/strings/fwd.hpp || { echo src/strings/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +touch stamp/map/skill.cpp.rank +touch stamp/mmo/strs.cpp.rank +fgrep -q ../strings/fwd.hpp src/sexpr/fwd.hpp +fgrep -q ../strings/fwd.hpp src/net/fwd.hpp +fgrep -q ../io/fwd.hpp src/map/fwd.hpp +includes=$(grep '#include.*".*/.*"' src/shared/lib.cpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/shared/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/shared/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/shared/fwd.hpp || { echo src/shared/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +touch stamp/net/timer.cpp.rank +fgrep -q ../io/fwd.hpp src/sexpr/fwd.hpp +touch stamp/map/tmw.cpp.rank +fgrep -q ../io/fwd.hpp src/net/fwd.hpp +includes=$(grep '#include.*".*/.*"' src/strings/astring.cpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/strings/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/strings/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/strings/fwd.hpp || { echo src/strings/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +includes=$(grep '#include.*".*/.*"' src/strings/literal.cpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/strings/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/strings/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/strings/fwd.hpp || { echo src/strings/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +fgrep -q ../strings/fwd.hpp src/mmo/fwd.hpp +includes=$(grep '#include.*".*/.*"' src/wire/packets.cpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/wire/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/wire/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/wire/fwd.hpp || { echo src/wire/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +touch stamp/mmo/version.cpp.rank +touch stamp/strings/rstring.cpp.rank +includes=$(grep '#include.*".*/.*"' src/strings/xstring.cpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/strings/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/strings/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/strings/fwd.hpp || { echo src/strings/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +fgrep -q ../net/fwd.hpp src/map/fwd.hpp +fgrep -q ../proto2/fwd.hpp src/net/fwd.hpp +includes=$(grep '#include.*".*/.*"' src/strings/zstring.cpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/strings/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/strings/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/strings/fwd.hpp || { echo src/strings/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +touch stamp/strings/mstring.cpp.rank +includes=$(grep '#include.*".*/.*"' src/strings/tstring.cpp | sed 's/^[^"]*"//;s/"[^"]*$//;s:/[^/]*$::' | sort -u | fgrep -vx -e '..' -e 'conf-raw' -e '../conf'); \ + for inc in $includes; do if ! test -f src/strings/fwd.hpp; then continue; fi; echo fgrep -q ${inc}/fwd.hpp src/strings/fwd.hpp; fgrep -q ${inc}/fwd.hpp src/strings/fwd.hpp || { echo src/strings/fwd.hpp:''23: error: No ${inc}/fwd.hpp; exit 1; }; done +touch stamp/shared/lib.cpp.rank +types=$(grep -o '\(enum \|class \| struct \|union \)\+[A-Za-z_0-9]\+;$' src/admin/fwd.hpp | sed 's/\(;\|enum \|class \|struct \|union \)//g'); \ + for t in $types; do echo grep -q $t src/admin/admin_conf.hpp src/admin/ladmin.hpp src/admin/globals.hpp; grep -qw '\(enum \|class \|struct \|union \)'$t src/admin/admin_conf.hpp src/admin/ladmin.hpp src/admin/globals.hpp || { grep -Hnw $t';$' src/admin/fwd.hpp; exit 1; }; done +fgrep -q ../compat/fwd.hpp src/net/fwd.hpp +fgrep -q ../strings/fwd.hpp src/sexpr/fwd.hpp +touch stamp/strings/sstring.cpp.rank +fgrep -q ../proto2/fwd.hpp src/map/fwd.hpp +fgrep -q ../io/fwd.hpp src/net/fwd.hpp +touch stamp/sexpr/lexer.cpp.rank +fgrep -q ../wire/fwd.hpp src/net/fwd.hpp +touch stamp/net/socket.cpp.rank +types=$(grep -o '\(enum \|class \| struct \|union \)\+[A-Za-z_0-9]\+;$' src/generic/fwd.hpp | sed 's/\(;\|enum \|class \|struct \|union \)//g'); \ + for t in $types; do echo grep -q $t src/generic/array.hpp src/generic/random.t.hpp src/generic/intern-pool.hpp src/generic/db.hpp src/generic/random2.hpp src/generic/oops.hpp src/generic/dumb_ptr.hpp src/generic/md5.hpp src/generic/random.hpp src/generic/enum.hpp src/generic/matrix.hpp; grep -qw '\(enum \|class \|struct \|union \)'$t src/generic/array.hpp src/generic/random.t.hpp src/generic/intern-pool.hpp src/generic/db.hpp src/generic/random2.hpp src/generic/oops.hpp src/generic/dumb_ptr.hpp src/generic/md5.hpp src/generic/random.hpp src/generic/enum.hpp src/generic/matrix.hpp || { grep -Hnw $t';$' src/generic/fwd.hpp; exit 1; }; done +touch stamp/strings/xstring.cpp.rank +touch stamp/map/script-fun.cpp.rank +touch stamp/strings/literal.cpp.rank +fgrep -q ../strings/fwd.hpp src/net/fwd.hpp +touch stamp/sexpr/parser.cpp.rank +touch stamp/strings/zstring.cpp.rank +grep -q AdminConf src/admin/admin_conf.hpp src/admin/ladmin.hpp src/admin/globals.hpp +types=$(grep -o '\(enum \|class \| struct \|union \)\+[A-Za-z_0-9]\+;$' src/char/fwd.hpp | sed 's/\(;\|enum \|class \|struct \|union \)//g'); \ + for t in $types; do echo grep -q $t src/char/char_lan_conf.hpp src/char/int_storage.hpp src/char/inter.hpp src/char/inter_conf.hpp src/char/globals.hpp src/char/char.hpp src/char/char_conf.hpp src/char/int_party.hpp src/char/consts.hpp; grep -qw '\(enum \|class \|struct \|union \)'$t src/char/char_lan_conf.hpp src/char/int_storage.hpp src/char/inter.hpp src/char/inter_conf.hpp src/char/globals.hpp src/char/char.hpp src/char/char_conf.hpp src/char/int_party.hpp src/char/consts.hpp || { grep -Hnw $t';$' src/char/fwd.hpp; exit 1; }; done +types=$(grep -o '\(enum \|class \| struct \|union \)\+[A-Za-z_0-9]\+;$' src/ast/fwd.hpp | sed 's/\(;\|enum \|class \|struct \|union \)//g'); \ + for t in $types; do echo grep -q $t src/ast/quest.hpp src/ast/item.hpp src/ast/script.hpp src/ast/npc.hpp; grep -qw '\(enum \|class \|struct \|union \)'$t src/ast/quest.hpp src/ast/item.hpp src/ast/script.hpp src/ast/npc.hpp || { grep -Hnw $t';$' src/ast/fwd.hpp; exit 1; }; done +types=$(grep -o '\(enum \|class \| struct \|union \)\+[A-Za-z_0-9]\+;$' src/high/fwd.hpp | sed 's/\(;\|enum \|class \|struct \|union \)//g'); \ + for t in $types; do echo grep -q $t src/high/utils.hpp src/high/mmo.hpp src/high/core.hpp src/high/extract_mmo.hpp src/high/md5more.hpp; grep -qw '\(enum \|class \|struct \|union \)'$t src/high/utils.hpp src/high/mmo.hpp src/high/core.hpp src/high/extract_mmo.hpp src/high/md5more.hpp || { grep -Hnw $t';$' src/high/fwd.hpp; exit 1; }; done +touch stamp/strings/astring.cpp.rank +types=$(grep -o '\(enum \|class \| struct \|union \)\+[A-Za-z_0-9]\+;$' src/compat/fwd.hpp | sed 's/\(;\|enum \|class \|struct \|union \)//g'); \ + for t in $types; do echo grep -q $t src/compat/nullpo.hpp src/compat/iter.hpp src/compat/attr.hpp src/compat/time_t.hpp src/compat/result.hpp src/compat/borrow.hpp src/compat/cast.hpp src/compat/option.hpp src/compat/memory.hpp src/compat/operators.hpp src/compat/fun.hpp src/compat/rawmem.hpp; grep -qw '\(enum \|class \|struct \|union \)'$t src/compat/nullpo.hpp src/compat/iter.hpp src/compat/attr.hpp src/compat/time_t.hpp src/compat/result.hpp src/compat/borrow.hpp src/compat/cast.hpp src/compat/option.hpp src/compat/memory.hpp src/compat/operators.hpp src/compat/fun.hpp src/compat/rawmem.hpp || { grep -Hnw $t';$' src/compat/fwd.hpp; exit 1; }; done +touch stamp/net/timestamp-utils.cpp.rank +types=$(grep -o '\(enum \|class \| struct \|union \)\+[A-Za-z_0-9]\+;$' src/io/fwd.hpp | sed 's/\(;\|enum \|class \|struct \|union \)//g'); \ + for t in $types; do echo grep -q $t src/io/cxxstdio.hpp src/io/dir.hpp src/io/read.hpp src/io/tty.hpp src/io/write.hpp src/io/lock.hpp src/io/extract.hpp src/io/fd.hpp src/io/span.hpp src/io/line.hpp; grep -qw '\(enum \|class \|struct \|union \)'$t src/io/cxxstdio.hpp src/io/dir.hpp src/io/read.hpp src/io/tty.hpp src/io/write.hpp src/io/lock.hpp src/io/extract.hpp src/io/fd.hpp src/io/span.hpp src/io/line.hpp || { grep -Hnw $t';$' src/io/fwd.hpp; exit 1; }; done +grep -q dumb_ptr src/generic/array.hpp src/generic/random.t.hpp src/generic/intern-pool.hpp src/generic/db.hpp src/generic/random2.hpp src/generic/oops.hpp src/generic/dumb_ptr.hpp src/generic/md5.hpp src/generic/random.hpp src/generic/enum.hpp src/generic/matrix.hpp +types=$(grep -o '\(enum \|class \| struct \|union \)\+[A-Za-z_0-9]\+;$' src/login/fwd.hpp | sed 's/\(;\|enum \|class \|struct \|union \)//g'); \ + for t in $types; do echo grep -q $t src/login/login.hpp src/login/login_conf.hpp src/login/globals.hpp src/login/login_lan_conf.hpp src/login/login.t.hpp src/login/consts.hpp; grep -qw '\(enum \|class \|struct \|union \)'$t src/login/login.hpp src/login/login_conf.hpp src/login/globals.hpp src/login/login_lan_conf.hpp src/login/login.t.hpp src/login/consts.hpp || { grep -Hnw $t';$' src/login/fwd.hpp; exit 1; }; done +grep -q Warp src/ast/quest.hpp src/ast/item.hpp src/ast/script.hpp src/ast/npc.hpp +grep -q Map src/generic/array.hpp src/generic/random.t.hpp src/generic/intern-pool.hpp src/generic/db.hpp src/generic/random2.hpp src/generic/oops.hpp src/generic/dumb_ptr.hpp src/generic/md5.hpp src/generic/random.hpp src/generic/enum.hpp src/generic/matrix.hpp +grep -q CharPair src/high/utils.hpp src/high/mmo.hpp src/high/core.hpp src/high/extract_mmo.hpp src/high/md5more.hpp +grep -q DMap src/generic/array.hpp src/generic/random.t.hpp src/generic/intern-pool.hpp src/generic/db.hpp src/generic/random2.hpp src/generic/oops.hpp src/generic/dumb_ptr.hpp src/generic/md5.hpp src/generic/random.hpp src/generic/enum.hpp src/generic/matrix.hpp +grep -q ScriptBody src/ast/quest.hpp src/ast/item.hpp src/ast/script.hpp src/ast/npc.hpp +types=$(grep -o '\(enum \|class \| struct \|union \)\+[A-Za-z_0-9]\+;$' src/ints/fwd.hpp | sed 's/\(;\|enum \|class \|struct \|union \)//g'); \ + for t in $types; do echo grep -q $t src/ints/wrap.hpp src/ints/cmp.hpp src/ints/udl.hpp src/ints/little.hpp; grep -qw '\(enum \|class \|struct \|union \)'$t src/ints/wrap.hpp src/ints/cmp.hpp src/ints/udl.hpp src/ints/little.hpp || { grep -Hnw $t';$' src/ints/fwd.hpp; exit 1; }; done +types=$(grep -o '\(enum \|class \| struct \|union \)\+[A-Za-z_0-9]\+;$' src/net/fwd.hpp | sed 's/\(;\|enum \|class \|struct \|union \)//g'); \ + for t in $types; do echo grep -q $t src/net/timer.hpp src/net/socket.hpp src/net/timestamp-utils.hpp src/net/timer.t.hpp src/net/ip.hpp; grep -qw '\(enum \|class \|struct \|union \)'$t src/net/timer.hpp src/net/socket.hpp src/net/timestamp-utils.hpp src/net/timer.t.hpp src/net/ip.hpp || { grep -Hnw $t';$' src/net/fwd.hpp; exit 1; }; done +grep -q UPMap src/generic/array.hpp src/generic/random.t.hpp src/generic/intern-pool.hpp src/generic/db.hpp src/generic/random2.hpp src/generic/oops.hpp src/generic/dumb_ptr.hpp src/generic/md5.hpp src/generic/random.hpp src/generic/enum.hpp src/generic/matrix.hpp +includes=$(grep -o '#include.*".*/fwd\.hpp"' src/ast/fwd.hpp | sed 's:^[^"]*"::;s:/[^/]*"$:/:'); \ + for inc in $includes; do echo fgrep -q $inc src/ast/quest.hpp src/ast/item.hpp src/ast/script.hpp src/ast/npc.hpp src/ast/npc_test.cpp src/ast/quest.cpp src/ast/item.cpp src/ast/script.cpp src/ast/npc.cpp src/ast/item_test.cpp; fgrep -q $inc src/ast/quest.hpp src/ast/item.hpp src/ast/script.hpp src/ast/npc.hpp src/ast/npc_test.cpp src/ast/quest.cpp src/ast/item.cpp src/ast/script.cpp src/ast/npc.cpp src/ast/item_test.cpp || { grep -Hn $inc src/ast/fwd.hpp; exit 1; }; done +grep -q CharConf src/char/char_lan_conf.hpp src/char/int_storage.hpp src/char/inter.hpp src/char/inter_conf.hpp src/char/globals.hpp src/char/char.hpp src/char/char_conf.hpp src/char/int_party.hpp src/char/consts.hpp +grep -q PartyPair src/high/utils.hpp src/high/mmo.hpp src/high/core.hpp src/high/extract_mmo.hpp src/high/md5more.hpp +types=$(grep -o '\(enum \|class \| struct \|union \)\+[A-Za-z_0-9]\+;$' src/mmo/fwd.hpp | sed 's/\(;\|enum \|class \|struct \|union \)//g'); \ + for t in $types; do echo grep -q $t src/mmo/config_parse.hpp src/mmo/ids.hpp src/mmo/enums.hpp src/mmo/clif.t.hpp src/mmo/human_time_diff.hpp src/mmo/strs.hpp src/mmo/extract_enums.hpp src/mmo/version.hpp src/mmo/skill.t.hpp src/mmo/consts.hpp src/mmo/cxxstdio_enums.hpp; grep -qw '\(enum \|class \|struct \|union \)'$t src/mmo/config_parse.hpp src/mmo/ids.hpp src/mmo/enums.hpp src/mmo/clif.t.hpp src/mmo/human_time_diff.hpp src/mmo/strs.hpp src/mmo/extract_enums.hpp src/mmo/version.hpp src/mmo/skill.t.hpp src/mmo/consts.hpp src/mmo/cxxstdio_enums.hpp || { grep -Hnw $t';$' src/mmo/fwd.hpp; exit 1; }; done +grep -q InternPool src/generic/array.hpp src/generic/random.t.hpp src/generic/intern-pool.hpp src/generic/db.hpp src/generic/random2.hpp src/generic/oops.hpp src/generic/dumb_ptr.hpp src/generic/md5.hpp src/generic/random.hpp src/generic/enum.hpp src/generic/matrix.hpp +types=$(grep -o '\(enum \|class \| struct \|union \)\+[A-Za-z_0-9]\+;$' src/map/fwd.hpp | sed 's/\(;\|enum \|class \|struct \|union \)//g'); \ + for t in $types; do echo grep -q $t src/map/script-parse.hpp src/map/map_conf.hpp src/map/storage.hpp src/map/mob.t.hpp src/map/consts.hpp src/map/script-startup.hpp src/map/pc.t.hpp src/map/intif.hpp src/map/skill.hpp src/map/grfio.hpp src/map/map.t.hpp src/map/quest.hpp src/map/battle.hpp src/map/mapflag.hpp src/map/globals.hpp src/map/script-fun.hpp src/map/battle_conf.hpp src/map/script-call.hpp src/map/party.hpp src/map/path.hpp src/map/pc.hpp src/map/itemdb.hpp src/map/script-startup-internal.hpp src/map/battle.t.hpp src/map/script-buffer.hpp src/map/npc-parse.hpp src/map/npc.hpp src/map/atcommand.hpp src/map/chrif.hpp src/map/script-parse-internal.hpp src/map/script-persist.hpp src/map/skill-pools.hpp src/map/tmw.hpp src/map/script-call-internal.hpp src/map/clif.hpp src/map/trade.hpp src/map/npc-internal.hpp src/map/mob.hpp src/map/map.hpp src/map/script-call.t.hpp; grep -qw '\(enum \|class \|struct \|union \)'$t src/map/script-parse.hpp src/map/map_conf.hpp src/map/storage.hpp src/map/mob.t.hpp src/map/consts.hpp src/map/script-startup.hpp src/map/pc.t.hpp src/map/intif.hpp src/map/skill.hpp src/map/grfio.hpp src/map/map.t.hpp src/map/quest.hpp src/map/battle.hpp src/map/mapflag.hpp src/map/globals.hpp src/map/script-fun.hpp src/map/battle_conf.hpp src/map/script-call.hpp src/map/party.hpp src/map/path.hpp src/map/pc.hpp src/map/itemdb.hpp src/map/script-startup-internal.hpp src/map/battle.t.hpp src/map/script-buffer.hpp src/map/npc-parse.hpp src/map/npc.hpp src/map/atcommand.hpp src/map/chrif.hpp src/map/script-parse-internal.hpp src/map/script-persist.hpp src/map/skill-pools.hpp src/map/tmw.hpp src/map/script-call-internal.hpp src/map/clif.hpp src/map/trade.hpp src/map/npc-internal.hpp src/map/mob.hpp src/map/map.hpp src/map/script-call.t.hpp || { grep -Hnw $t';$' src/map/fwd.hpp; exit 1; }; done +fgrep -q ../io/fwd.hpp src/wire/fwd.hpp +includes=$(grep -o '#include.*".*/fwd\.hpp"' src/admin/fwd.hpp | sed 's:^[^"]*"::;s:/[^/]*"$:/:'); \ + for inc in $includes; do echo fgrep -q $inc src/admin/admin_conf.hpp src/admin/ladmin.hpp src/admin/globals.hpp src/admin/admin_conf.cpp src/admin/ladmin.cpp src/admin/globals.cpp src/admin/main.cpp; fgrep -q $inc src/admin/admin_conf.hpp src/admin/ladmin.hpp src/admin/globals.hpp src/admin/admin_conf.cpp src/admin/ladmin.cpp src/admin/globals.cpp src/admin/main.cpp || { grep -Hn $inc src/admin/fwd.hpp; exit 1; }; done +includes=$(grep -o '#include.*".*/fwd\.hpp"' src/ints/fwd.hpp | sed 's:^[^"]*"::;s:/[^/]*"$:/:'); \ + for inc in $includes; do echo fgrep -q $inc src/ints/wrap.hpp src/ints/cmp.hpp src/ints/udl.hpp src/ints/little.hpp src/ints/cmp_test.cpp src/ints/udl_test.cpp; fgrep -q $inc src/ints/wrap.hpp src/ints/cmp.hpp src/ints/udl.hpp src/ints/little.hpp src/ints/cmp_test.cpp src/ints/udl_test.cpp || { grep -Hn $inc src/ints/fwd.hpp; exit 1; }; done +types=$(grep -o '\(enum \|class \| struct \|union \)\+[A-Za-z_0-9]\+;$' src/proto-base/fwd.hpp | sed 's/\(;\|enum \|class \|struct \|union \)//g'); \ + for t in $types; do echo grep -q $t src/proto-base/net-array.hpp src/proto-base/net-skewed-length.hpp src/proto-base/net-neutral.hpp src/proto-base/net-string.hpp; grep -qw '\(enum \|class \|struct \|union \)'$t src/proto-base/net-array.hpp src/proto-base/net-skewed-length.hpp src/proto-base/net-neutral.hpp src/proto-base/net-string.hpp || { grep -Hnw $t';$' src/proto-base/fwd.hpp; exit 1; }; done +grep -q Session src/net/timer.hpp src/net/socket.hpp src/net/timestamp-utils.hpp src/net/timer.t.hpp src/net/ip.hpp +grep -q ReadFile src/io/cxxstdio.hpp src/io/dir.hpp src/io/read.hpp src/io/tty.hpp src/io/write.hpp src/io/lock.hpp src/io/extract.hpp src/io/fd.hpp src/io/span.hpp src/io/line.hpp +grep -q LoginConf src/login/login.hpp src/login/login_conf.hpp src/login/globals.hpp src/login/login_lan_conf.hpp src/login/login.t.hpp src/login/consts.hpp +includes=$(grep -o '#include.*".*/fwd\.hpp"' src/high/fwd.hpp | sed 's:^[^"]*"::;s:/[^/]*"$:/:'); \ + for inc in $includes; do echo fgrep -q $inc src/high/utils.hpp src/high/mmo.hpp src/high/core.hpp src/high/extract_mmo.hpp src/high/md5more.hpp src/high/md5more.cpp src/high/utils.cpp src/high/core.cpp src/high/extract_mmo.cpp; fgrep -q $inc src/high/utils.hpp src/high/mmo.hpp src/high/core.hpp src/high/extract_mmo.hpp src/high/md5more.hpp src/high/md5more.cpp src/high/utils.cpp src/high/core.cpp src/high/extract_mmo.cpp || { grep -Hn $inc src/high/fwd.hpp; exit 1; }; done +grep -q MapName src/mmo/config_parse.hpp src/mmo/ids.hpp src/mmo/enums.hpp src/mmo/clif.t.hpp src/mmo/human_time_diff.hpp src/mmo/strs.hpp src/mmo/extract_enums.hpp src/mmo/version.hpp src/mmo/skill.t.hpp src/mmo/consts.hpp src/mmo/cxxstdio_enums.hpp +grep -q IP4Address src/net/timer.hpp src/net/socket.hpp src/net/timestamp-utils.hpp src/net/timer.t.hpp src/net/ip.hpp +grep -q LoginLanConf src/login/login.hpp src/login/login_conf.hpp src/login/globals.hpp src/login/login_lan_conf.hpp src/login/login.t.hpp src/login/consts.hpp +grep -q WriteFile src/io/cxxstdio.hpp src/io/dir.hpp src/io/read.hpp src/io/tty.hpp src/io/write.hpp src/io/lock.hpp src/io/extract.hpp src/io/fd.hpp src/io/span.hpp src/io/line.hpp +grep -q TimerData src/net/timer.hpp src/net/socket.hpp src/net/timestamp-utils.hpp src/net/timer.t.hpp src/net/ip.hpp +touch stamp/ints.fwdcheck +grep -q CharName src/mmo/config_parse.hpp src/mmo/ids.hpp src/mmo/enums.hpp src/mmo/clif.t.hpp src/mmo/human_time_diff.hpp src/mmo/strs.hpp src/mmo/extract_enums.hpp src/mmo/version.hpp src/mmo/skill.t.hpp src/mmo/consts.hpp src/mmo/cxxstdio_enums.hpp +grep -q CharLanConf src/char/char_lan_conf.hpp src/char/int_storage.hpp src/char/inter.hpp src/char/inter_conf.hpp src/char/globals.hpp src/char/char.hpp src/char/char_conf.hpp src/char/int_party.hpp src/char/consts.hpp +grep -q AppendFile src/io/cxxstdio.hpp src/io/dir.hpp src/io/read.hpp src/io/tty.hpp src/io/write.hpp src/io/lock.hpp src/io/extract.hpp src/io/fd.hpp src/io/span.hpp src/io/line.hpp +grep -q InterConf src/char/char_lan_conf.hpp src/char/int_storage.hpp src/char/inter.hpp src/char/inter_conf.hpp src/char/globals.hpp src/char/char.hpp src/char/char_conf.hpp src/char/int_party.hpp src/char/consts.hpp +includes=$(grep -o '#include.*".*/fwd\.hpp"' src/proto-base/fwd.hpp | sed 's:^[^"]*"::;s:/[^/]*"$:/:'); \ + for inc in $includes; do echo fgrep -q $inc src/proto-base/net-array.hpp src/proto-base/net-skewed-length.hpp src/proto-base/net-neutral.hpp src/proto-base/net-string.hpp; fgrep -q $inc src/proto-base/net-array.hpp src/proto-base/net-skewed-length.hpp src/proto-base/net-neutral.hpp src/proto-base/net-string.hpp || { grep -Hn $inc src/proto-base/fwd.hpp; exit 1; }; done +fgrep -q ../compat/ src/ast/quest.hpp src/ast/item.hpp src/ast/script.hpp src/ast/npc.hpp src/ast/npc_test.cpp src/ast/quest.cpp src/ast/item.cpp src/ast/script.cpp src/ast/npc.cpp src/ast/item_test.cpp +fgrep -q ../range/ src/high/utils.hpp src/high/mmo.hpp src/high/core.hpp src/high/extract_mmo.hpp src/high/md5more.hpp src/high/md5more.cpp src/high/utils.cpp src/high/core.cpp src/high/extract_mmo.cpp +types=$(grep -o '\(enum \|class \| struct \|union \)\+[A-Za-z_0-9]\+;$' src/range/fwd.hpp | sed 's/\(;\|enum \|class \|struct \|union \)//g'); \ + for t in $types; do echo grep -q $t src/range/slice.hpp; grep -qw '\(enum \|class \|struct \|union \)'$t src/range/slice.hpp || { grep -Hnw $t';$' src/range/fwd.hpp; exit 1; }; done +grep -q HumanTimeDiff src/mmo/config_parse.hpp src/mmo/ids.hpp src/mmo/enums.hpp src/mmo/clif.t.hpp src/mmo/human_time_diff.hpp src/mmo/strs.hpp src/mmo/extract_enums.hpp src/mmo/version.hpp src/mmo/skill.t.hpp src/mmo/consts.hpp src/mmo/cxxstdio_enums.hpp +grep -q AuthFifoEntry src/char/char_lan_conf.hpp src/char/int_storage.hpp src/char/inter.hpp src/char/inter_conf.hpp src/char/globals.hpp src/char/char.hpp src/char/char_conf.hpp src/char/int_party.hpp src/char/consts.hpp +grep -q mmo_char_server src/login/login.hpp src/login/login_conf.hpp src/login/globals.hpp src/login/login_lan_conf.hpp src/login/login.t.hpp src/login/consts.hpp +includes=$(grep -o '#include.*".*/fwd\.hpp"' src/generic/fwd.hpp | sed 's:^[^"]*"::;s:/[^/]*"$:/:'); \ + for inc in $includes; do echo fgrep -q $inc src/generic/array.hpp src/generic/random.t.hpp src/generic/intern-pool.hpp src/generic/db.hpp src/generic/random2.hpp src/generic/oops.hpp src/generic/dumb_ptr.hpp src/generic/md5.hpp src/generic/random.hpp src/generic/enum.hpp src/generic/matrix.hpp src/generic/random.cpp src/generic/oops_test.cpp src/generic/md5_test.cpp src/generic/array_test.cpp src/generic/oops.cpp src/generic/intern-pool_test.cpp src/generic/md5.cpp; fgrep -q $inc src/generic/array.hpp src/generic/random.t.hpp src/generic/intern-pool.hpp src/generic/db.hpp src/generic/random2.hpp src/generic/oops.hpp src/generic/dumb_ptr.hpp src/generic/md5.hpp src/generic/random.hpp src/generic/enum.hpp src/generic/matrix.hpp src/generic/random.cpp src/generic/oops_test.cpp src/generic/md5_test.cpp src/generic/array_test.cpp src/generic/oops.cpp src/generic/intern-pool_test.cpp src/generic/md5.cpp || { grep -Hn $inc src/generic/fwd.hpp; exit 1; }; done +fgrep -q ../strings/ src/admin/admin_conf.hpp src/admin/ladmin.hpp src/admin/globals.hpp src/admin/admin_conf.cpp src/admin/ladmin.cpp src/admin/globals.cpp src/admin/main.cpp +grep -q LineReader src/io/cxxstdio.hpp src/io/dir.hpp src/io/read.hpp src/io/tty.hpp src/io/write.hpp src/io/lock.hpp src/io/extract.hpp src/io/fd.hpp src/io/span.hpp src/io/line.hpp +grep -q npc_data_script src/map/script-parse.hpp src/map/map_conf.hpp src/map/storage.hpp src/map/mob.t.hpp src/map/consts.hpp src/map/script-startup.hpp src/map/pc.t.hpp src/map/intif.hpp src/map/skill.hpp src/map/grfio.hpp src/map/map.t.hpp src/map/quest.hpp src/map/battle.hpp src/map/mapflag.hpp src/map/globals.hpp src/map/script-fun.hpp src/map/battle_conf.hpp src/map/script-call.hpp src/map/party.hpp src/map/path.hpp src/map/pc.hpp src/map/itemdb.hpp src/map/script-startup-internal.hpp src/map/battle.t.hpp src/map/script-buffer.hpp src/map/npc-parse.hpp src/map/npc.hpp src/map/atcommand.hpp src/map/chrif.hpp src/map/script-parse-internal.hpp src/map/script-persist.hpp src/map/skill-pools.hpp src/map/tmw.hpp src/map/script-call-internal.hpp src/map/clif.hpp src/map/trade.hpp src/map/npc-internal.hpp src/map/mob.hpp src/map/map.hpp src/map/script-call.t.hpp +grep -q Option src/compat/nullpo.hpp src/compat/iter.hpp src/compat/attr.hpp src/compat/time_t.hpp src/compat/result.hpp src/compat/borrow.hpp src/compat/cast.hpp src/compat/option.hpp src/compat/memory.hpp src/compat/operators.hpp src/compat/fun.hpp src/compat/rawmem.hpp +includes=$(grep -o '#include.*".*/fwd\.hpp"' src/net/fwd.hpp | sed 's:^[^"]*"::;s:/[^/]*"$:/:'); \ + for inc in $includes; do echo fgrep -q $inc src/net/timer.hpp src/net/socket.hpp src/net/timestamp-utils.hpp src/net/timer.t.hpp src/net/ip.hpp src/net/timer.cpp src/net/ip_test.cpp src/net/socket.cpp src/net/timestamp-utils.cpp src/net/ip.cpp; fgrep -q $inc src/net/timer.hpp src/net/socket.hpp src/net/timestamp-utils.hpp src/net/timer.t.hpp src/net/ip.hpp src/net/timer.cpp src/net/ip_test.cpp src/net/socket.cpp src/net/timestamp-utils.cpp src/net/ip.cpp || { grep -Hn $inc src/net/fwd.hpp; exit 1; }; done +grep -q mmo_map_server src/char/char_lan_conf.hpp src/char/int_storage.hpp src/char/inter.hpp src/char/inter_conf.hpp src/char/globals.hpp src/char/char.hpp src/char/char_conf.hpp src/char/int_party.hpp src/char/consts.hpp +grep -q npc_data_shop src/map/script-parse.hpp src/map/map_conf.hpp src/map/storage.hpp src/map/mob.t.hpp src/map/consts.hpp src/map/script-startup.hpp src/map/pc.t.hpp src/map/intif.hpp src/map/skill.hpp src/map/grfio.hpp src/map/map.t.hpp src/map/quest.hpp src/map/battle.hpp src/map/mapflag.hpp src/map/globals.hpp src/map/script-fun.hpp src/map/battle_conf.hpp src/map/script-call.hpp src/map/party.hpp src/map/path.hpp src/map/pc.hpp src/map/itemdb.hpp src/map/script-startup-internal.hpp src/map/battle.t.hpp src/map/script-buffer.hpp src/map/npc-parse.hpp src/map/npc.hpp src/map/atcommand.hpp src/map/chrif.hpp src/map/script-parse-internal.hpp src/map/script-persist.hpp src/map/skill-pools.hpp src/map/tmw.hpp src/map/script-call-internal.hpp src/map/clif.hpp src/map/trade.hpp src/map/npc-internal.hpp src/map/mob.hpp src/map/map.hpp src/map/script-call.t.hpp +touch stamp/strings/tstring.cpp.rank +fgrep -q ../strings/ src/proto-base/net-array.hpp src/proto-base/net-skewed-length.hpp src/proto-base/net-neutral.hpp src/proto-base/net-string.hpp +fgrep -q ../io/ src/admin/admin_conf.hpp src/admin/ladmin.hpp src/admin/globals.hpp src/admin/admin_conf.cpp src/admin/ladmin.cpp src/admin/globals.cpp src/admin/main.cpp +grep -q Borrowed src/compat/nullpo.hpp src/compat/iter.hpp src/compat/attr.hpp src/compat/time_t.hpp src/compat/result.hpp src/compat/borrow.hpp src/compat/cast.hpp src/compat/option.hpp src/compat/memory.hpp src/compat/operators.hpp src/compat/fun.hpp src/compat/rawmem.hpp +fgrep -q ../net/ src/admin/admin_conf.hpp src/admin/ladmin.hpp src/admin/globals.hpp src/admin/admin_conf.cpp src/admin/ladmin.cpp src/admin/globals.cpp src/admin/main.cpp +grep -q AuthData src/login/login.hpp src/login/login_conf.hpp src/login/globals.hpp src/login/login_lan_conf.hpp src/login/login.t.hpp src/login/consts.hpp +grep -q accreg src/char/char_lan_conf.hpp src/char/int_storage.hpp src/char/inter.hpp src/char/inter_conf.hpp src/char/globals.hpp src/char/char.hpp src/char/char_conf.hpp src/char/int_party.hpp src/char/consts.hpp +fgrep -q ../strings/ src/generic/array.hpp src/generic/random.t.hpp src/generic/intern-pool.hpp src/generic/db.hpp src/generic/random2.hpp src/generic/oops.hpp src/generic/dumb_ptr.hpp src/generic/md5.hpp src/generic/random.hpp src/generic/enum.hpp src/generic/matrix.hpp src/generic/random.cpp src/generic/oops_test.cpp src/generic/md5_test.cpp src/generic/array_test.cpp src/generic/oops.cpp src/generic/intern-pool_test.cpp src/generic/md5.cpp +types=$(grep -o '\(enum \|class \| struct \|union \)\+[A-Za-z_0-9]\+;$' src/proto2/fwd.hpp | sed 's/\(;\|enum \|class \|struct \|union \)//g'); \ + for t in $types; do echo grep -q $t src/proto2/net-Version.hpp src/proto2/net-SkillID.hpp src/proto2/net-Opt2.hpp src/proto2/net-LOOK.hpp src/proto2/net-CharKey.hpp src/proto2/net-PartyMember.hpp src/proto2/net-Storage.hpp src/proto2/net-Item.hpp src/proto2/login-char.hpp src/proto2/net-ClientVersion.hpp src/proto2/net-CharSelect.hpp src/proto2/net-PartyId.hpp src/proto2/char-user.hpp src/proto2/char-map.hpp src/proto2/net-SkillFlags.hpp src/proto2/net-DIR.hpp src/proto2/net-GlobalReg.hpp src/proto2/net-Opt3.hpp src/proto2/net-HumanTimeDiff.hpp src/proto2/net-SkillInfo.hpp src/proto2/map-user.hpp src/proto2/net-ItemNameId.hpp src/proto2/net-Stats6.hpp src/proto2/net-EPOS.hpp src/proto2/net-CharData.hpp src/proto2/net-DamageType.hpp src/proto2/login-admin.hpp src/proto2/net-ItemType.hpp src/proto2/net-BeingRemoveWhy.hpp src/proto2/net-CharId.hpp src/proto2/net-AccountId.hpp src/proto2/net-StatusChange.hpp src/proto2/net-SEX.hpp src/proto2/net-Opt0.hpp src/proto2/net-PartyMost.hpp src/proto2/net-Point.hpp src/proto2/net-PickupFail.hpp src/proto2/net-BlockId.hpp src/proto2/net-SP.hpp src/proto2/net-Opt1.hpp src/proto2/net-SkillValue.hpp src/proto2/login-user.hpp src/proto2/any-user.hpp src/proto2/net-Species.hpp src/proto2/net-ItemLook.hpp; grep -qw '\(enum \|class \|struct \|union \)'$t src/proto2/net-Version.hpp src/proto2/net-SkillID.hpp src/proto2/net-Opt2.hpp src/proto2/net-LOOK.hpp src/proto2/net-CharKey.hpp src/proto2/net-PartyMember.hpp src/proto2/net-Storage.hpp src/proto2/net-Item.hpp src/proto2/login-char.hpp src/proto2/net-ClientVersion.hpp src/proto2/net-CharSelect.hpp src/proto2/net-PartyId.hpp src/proto2/char-user.hpp src/proto2/char-map.hpp src/proto2/net-SkillFlags.hpp src/proto2/net-DIR.hpp src/proto2/net-GlobalReg.hpp src/proto2/net-Opt3.hpp src/proto2/net-HumanTimeDiff.hpp src/proto2/net-SkillInfo.hpp src/proto2/map-user.hpp src/proto2/net-ItemNameId.hpp src/proto2/net-Stats6.hpp src/proto2/net-EPOS.hpp src/proto2/net-CharData.hpp src/proto2/net-DamageType.hpp src/proto2/login-admin.hpp src/proto2/net-ItemType.hpp src/proto2/net-BeingRemoveWhy.hpp src/proto2/net-CharId.hpp src/proto2/net-AccountId.hpp src/proto2/net-StatusChange.hpp src/proto2/net-SEX.hpp src/proto2/net-Opt0.hpp src/proto2/net-PartyMost.hpp src/proto2/net-Point.hpp src/proto2/net-PickupFail.hpp src/proto2/net-BlockId.hpp src/proto2/net-SP.hpp src/proto2/net-Opt1.hpp src/proto2/net-SkillValue.hpp src/proto2/login-user.hpp src/proto2/any-user.hpp src/proto2/net-Species.hpp src/proto2/net-ItemLook.hpp || { grep -Hnw $t';$' src/proto2/fwd.hpp; exit 1; }; done +fgrep -q ../generic/ src/proto-base/net-array.hpp src/proto-base/net-skewed-length.hpp src/proto-base/net-neutral.hpp src/proto-base/net-string.hpp +grep -q TimeT src/compat/nullpo.hpp src/compat/iter.hpp src/compat/attr.hpp src/compat/time_t.hpp src/compat/result.hpp src/compat/borrow.hpp src/compat/cast.hpp src/compat/option.hpp src/compat/memory.hpp src/compat/operators.hpp src/compat/fun.hpp src/compat/rawmem.hpp +grep -q npc_data_warp src/map/script-parse.hpp src/map/map_conf.hpp src/map/storage.hpp src/map/mob.t.hpp src/map/consts.hpp src/map/script-startup.hpp src/map/pc.t.hpp src/map/intif.hpp src/map/skill.hpp src/map/grfio.hpp src/map/map.t.hpp src/map/quest.hpp src/map/battle.hpp src/map/mapflag.hpp src/map/globals.hpp src/map/script-fun.hpp src/map/battle_conf.hpp src/map/script-call.hpp src/map/party.hpp src/map/path.hpp src/map/pc.hpp src/map/itemdb.hpp src/map/script-startup-internal.hpp src/map/battle.t.hpp src/map/script-buffer.hpp src/map/npc-parse.hpp src/map/npc.hpp src/map/atcommand.hpp src/map/chrif.hpp src/map/script-parse-internal.hpp src/map/script-persist.hpp src/map/skill-pools.hpp src/map/tmw.hpp src/map/script-call-internal.hpp src/map/clif.hpp src/map/trade.hpp src/map/npc-internal.hpp src/map/mob.hpp src/map/map.hpp src/map/script-call.t.hpp +fgrep -q ../strings/ src/high/utils.hpp src/high/mmo.hpp src/high/core.hpp src/high/extract_mmo.hpp src/high/md5more.hpp src/high/md5more.cpp src/high/utils.cpp src/high/core.cpp src/high/extract_mmo.cpp +touch stamp/wire/packets.cpp.rank +grep -q LineCharReader src/io/cxxstdio.hpp src/io/dir.hpp src/io/read.hpp src/io/tty.hpp src/io/write.hpp src/io/lock.hpp src/io/extract.hpp src/io/fd.hpp src/io/span.hpp src/io/line.hpp +includes=$(grep -o '#include.*".*/fwd\.hpp"' src/char/fwd.hpp | sed 's:^[^"]*"::;s:/[^/]*"$:/:'); \ + for inc in $includes; do echo fgrep -q $inc src/char/char_lan_conf.hpp src/char/int_storage.hpp src/char/inter.hpp src/char/inter_conf.hpp src/char/globals.hpp src/char/char.hpp src/char/char_conf.hpp src/char/int_party.hpp src/char/consts.hpp src/char/char_conf.cpp src/char/int_party.cpp src/char/char_lan_conf.cpp src/char/int_storage.cpp src/char/inter.cpp src/char/inter_conf.cpp src/char/globals.cpp src/char/main.cpp src/char/char.cpp; fgrep -q $inc src/char/char_lan_conf.hpp src/char/int_storage.hpp src/char/inter.hpp src/char/inter_conf.hpp src/char/globals.hpp src/char/char.hpp src/char/char_conf.hpp src/char/int_party.hpp src/char/consts.hpp src/char/char_conf.cpp src/char/int_party.cpp src/char/char_lan_conf.cpp src/char/int_storage.cpp src/char/inter.cpp src/char/inter_conf.cpp src/char/globals.cpp src/char/main.cpp src/char/char.cpp || { grep -Hn $inc src/char/fwd.hpp; exit 1; }; done +includes=$(grep -o '#include.*".*/fwd\.hpp"' src/login/fwd.hpp | sed 's:^[^"]*"::;s:/[^/]*"$:/:'); \ + for inc in $includes; do echo fgrep -q $inc src/login/login.hpp src/login/login_conf.hpp src/login/globals.hpp src/login/login_lan_conf.hpp src/login/login.t.hpp src/login/consts.hpp src/login/login.cpp src/login/login_conf.cpp src/login/main.cpp src/login/globals.cpp src/login/login_lan_conf.cpp; fgrep -q $inc src/login/login.hpp src/login/login_conf.hpp src/login/globals.hpp src/login/login_lan_conf.hpp src/login/login.t.hpp src/login/consts.hpp src/login/login.cpp src/login/login_conf.cpp src/login/main.cpp src/login/globals.cpp src/login/login_lan_conf.cpp || { grep -Hn $inc src/login/fwd.hpp; exit 1; }; done +fgrep -q ../io/ src/ast/quest.hpp src/ast/item.hpp src/ast/script.hpp src/ast/npc.hpp src/ast/npc_test.cpp src/ast/quest.cpp src/ast/item.cpp src/ast/script.cpp src/ast/npc.cpp src/ast/item_test.cpp +includes=$(grep -o '#include.*".*/fwd\.hpp"' src/compat/fwd.hpp | sed 's:^[^"]*"::;s:/[^/]*"$:/:'); \ + for inc in $includes; do echo fgrep -q $inc src/compat/nullpo.hpp src/compat/iter.hpp src/compat/attr.hpp src/compat/time_t.hpp src/compat/result.hpp src/compat/borrow.hpp src/compat/cast.hpp src/compat/option.hpp src/compat/memory.hpp src/compat/operators.hpp src/compat/fun.hpp src/compat/rawmem.hpp src/compat/option_test.cpp src/compat/nullpo.cpp src/compat/iter_test.cpp src/compat/result_test.cpp; fgrep -q $inc src/compat/nullpo.hpp src/compat/iter.hpp src/compat/attr.hpp src/compat/time_t.hpp src/compat/result.hpp src/compat/borrow.hpp src/compat/cast.hpp src/compat/option.hpp src/compat/memory.hpp src/compat/operators.hpp src/compat/fun.hpp src/compat/rawmem.hpp src/compat/option_test.cpp src/compat/nullpo.cpp src/compat/iter_test.cpp src/compat/result_test.cpp || { grep -Hn $inc src/compat/fwd.hpp; exit 1; }; done +grep -q SIR src/map/script-parse.hpp src/map/map_conf.hpp src/map/storage.hpp src/map/mob.t.hpp src/map/consts.hpp src/map/script-startup.hpp src/map/pc.t.hpp src/map/intif.hpp src/map/skill.hpp src/map/grfio.hpp src/map/map.t.hpp src/map/quest.hpp src/map/battle.hpp src/map/mapflag.hpp src/map/globals.hpp src/map/script-fun.hpp src/map/battle_conf.hpp src/map/script-call.hpp src/map/party.hpp src/map/path.hpp src/map/pc.hpp src/map/itemdb.hpp src/map/script-startup-internal.hpp src/map/battle.t.hpp src/map/script-buffer.hpp src/map/npc-parse.hpp src/map/npc.hpp src/map/atcommand.hpp src/map/chrif.hpp src/map/script-parse-internal.hpp src/map/script-persist.hpp src/map/skill-pools.hpp src/map/tmw.hpp src/map/script-call-internal.hpp src/map/clif.hpp src/map/trade.hpp src/map/npc-internal.hpp src/map/mob.hpp src/map/map.hpp src/map/script-call.t.hpp +fgrep -q ../mmo/ src/admin/admin_conf.hpp src/admin/ladmin.hpp src/admin/globals.hpp src/admin/admin_conf.cpp src/admin/ladmin.cpp src/admin/globals.cpp src/admin/main.cpp +grep -q Line src/io/cxxstdio.hpp src/io/dir.hpp src/io/read.hpp src/io/tty.hpp src/io/write.hpp src/io/lock.hpp src/io/extract.hpp src/io/fd.hpp src/io/span.hpp src/io/line.hpp +fgrep -q ../net/ src/ast/quest.hpp src/ast/item.hpp src/ast/script.hpp src/ast/npc.hpp src/ast/npc_test.cpp src/ast/quest.cpp src/ast/item.cpp src/ast/script.cpp src/ast/npc.cpp src/ast/item_test.cpp +fgrep -q ../compat/ src/high/utils.hpp src/high/mmo.hpp src/high/core.hpp src/high/extract_mmo.hpp src/high/md5more.hpp src/high/md5more.cpp src/high/utils.cpp src/high/core.cpp src/high/extract_mmo.cpp +grep -q Species src/mmo/config_parse.hpp src/mmo/ids.hpp src/mmo/enums.hpp src/mmo/clif.t.hpp src/mmo/human_time_diff.hpp src/mmo/strs.hpp src/mmo/extract_enums.hpp src/mmo/version.hpp src/mmo/skill.t.hpp src/mmo/consts.hpp src/mmo/cxxstdio_enums.hpp +fgrep -q ../proto2/ src/admin/admin_conf.hpp src/admin/ladmin.hpp src/admin/globals.hpp src/admin/admin_conf.cpp src/admin/ladmin.cpp src/admin/globals.cpp src/admin/main.cpp +fgrep -q ../generic/ src/high/utils.hpp src/high/mmo.hpp src/high/core.hpp src/high/extract_mmo.hpp src/high/md5more.hpp src/high/md5more.cpp src/high/utils.cpp src/high/core.cpp src/high/extract_mmo.cpp +grep -q AccountId src/mmo/config_parse.hpp src/mmo/ids.hpp src/mmo/enums.hpp src/mmo/clif.t.hpp src/mmo/human_time_diff.hpp src/mmo/strs.hpp src/mmo/extract_enums.hpp src/mmo/version.hpp src/mmo/skill.t.hpp src/mmo/consts.hpp src/mmo/cxxstdio_enums.hpp +fgrep -q ../ints/ src/net/timer.hpp src/net/socket.hpp src/net/timestamp-utils.hpp src/net/timer.t.hpp src/net/ip.hpp src/net/timer.cpp src/net/ip_test.cpp src/net/socket.cpp src/net/timestamp-utils.cpp src/net/ip.cpp +fgrep -q ../ints/ src/char/char_lan_conf.hpp src/char/int_storage.hpp src/char/inter.hpp src/char/inter_conf.hpp src/char/globals.hpp src/char/char.hpp src/char/char_conf.hpp src/char/int_party.hpp src/char/consts.hpp src/char/char_conf.cpp src/char/int_party.cpp src/char/char_lan_conf.cpp src/char/int_storage.cpp src/char/inter.cpp src/char/inter_conf.cpp src/char/globals.cpp src/char/main.cpp src/char/char.cpp +includes=$(grep -o '#include.*".*/fwd\.hpp"' src/map/fwd.hpp | sed 's:^[^"]*"::;s:/[^/]*"$:/:'); \ + for inc in $includes; do echo fgrep -q $inc src/map/script-parse.hpp src/map/map_conf.hpp src/map/storage.hpp src/map/mob.t.hpp src/map/consts.hpp src/map/script-startup.hpp src/map/pc.t.hpp src/map/intif.hpp src/map/skill.hpp src/map/grfio.hpp src/map/map.t.hpp src/map/quest.hpp src/map/battle.hpp src/map/mapflag.hpp src/map/globals.hpp src/map/script-fun.hpp src/map/battle_conf.hpp src/map/script-call.hpp src/map/party.hpp src/map/path.hpp src/map/pc.hpp src/map/itemdb.hpp src/map/script-startup-internal.hpp src/map/battle.t.hpp src/map/script-buffer.hpp src/map/npc-parse.hpp src/map/npc.hpp src/map/atcommand.hpp src/map/chrif.hpp src/map/script-parse-internal.hpp src/map/script-persist.hpp src/map/skill-pools.hpp src/map/tmw.hpp src/map/script-call-internal.hpp src/map/clif.hpp src/map/trade.hpp src/map/npc-internal.hpp src/map/mob.hpp src/map/map.hpp src/map/script-call.t.hpp src/map/script-call-internal.tcc src/map/skill-pools.cpp src/map/clif.cpp src/map/mob.cpp src/map/map.cpp src/map/globals.cpp src/map/trade.cpp src/map/script-startup.cpp src/map/script-call.cpp src/map/intif.cpp src/map/path.cpp src/map/grfio.cpp src/map/quest.cpp src/map/battle.cpp src/map/script-parse.cpp src/map/script-fun.cpp src/map/battle_conf.cpp src/map/map_conf.cpp src/map/pc.cpp src/map/mapflag.cpp src/map/storage.cpp src/map/skill.cpp src/map/itemdb.cpp src/map/npc-parse.cpp src/map/npc.cpp src/map/atcommand.cpp src/map/party.cpp src/map/chrif.cpp src/map/main.cpp src/map/tmw.cpp; fgrep -q $inc src/map/script-parse.hpp src/map/map_conf.hpp src/map/storage.hpp src/map/mob.t.hpp src/map/consts.hpp src/map/script-startup.hpp src/map/pc.t.hpp src/map/intif.hpp src/map/skill.hpp src/map/grfio.hpp src/map/map.t.hpp src/map/quest.hpp src/map/battle.hpp src/map/mapflag.hpp src/map/globals.hpp src/map/script-fun.hpp src/map/battle_conf.hpp src/map/script-call.hpp src/map/party.hpp src/map/path.hpp src/map/pc.hpp src/map/itemdb.hpp src/map/script-startup-internal.hpp src/map/battle.t.hpp src/map/script-buffer.hpp src/map/npc-parse.hpp src/map/npc.hpp src/map/atcommand.hpp src/map/chrif.hpp src/map/script-parse-internal.hpp src/map/script-persist.hpp src/map/skill-pools.hpp src/map/tmw.hpp src/map/script-call-internal.hpp src/map/clif.hpp src/map/trade.hpp src/map/npc-internal.hpp src/map/mob.hpp src/map/map.hpp src/map/script-call.t.hpp src/map/script-call-internal.tcc src/map/skill-pools.cpp src/map/clif.cpp src/map/mob.cpp src/map/map.cpp src/map/globals.cpp src/map/trade.cpp src/map/script-startup.cpp src/map/script-call.cpp src/map/intif.cpp src/map/path.cpp src/map/grfio.cpp src/map/quest.cpp src/map/battle.cpp src/map/script-parse.cpp src/map/script-fun.cpp src/map/battle_conf.cpp src/map/map_conf.cpp src/map/pc.cpp src/map/mapflag.cpp src/map/storage.cpp src/map/skill.cpp src/map/itemdb.cpp src/map/npc-parse.cpp src/map/npc.cpp src/map/atcommand.cpp src/map/party.cpp src/map/chrif.cpp src/map/main.cpp src/map/tmw.cpp || { grep -Hn $inc src/map/fwd.hpp; exit 1; }; done +fgrep -q ../high/ src/admin/admin_conf.hpp src/admin/ladmin.hpp src/admin/globals.hpp src/admin/admin_conf.cpp src/admin/ladmin.cpp src/admin/globals.cpp src/admin/main.cpp +grep -q Slice src/range/slice.hpp +fgrep -q ../compat/ src/generic/array.hpp src/generic/random.t.hpp src/generic/intern-pool.hpp src/generic/db.hpp src/generic/random2.hpp src/generic/oops.hpp src/generic/dumb_ptr.hpp src/generic/md5.hpp src/generic/random.hpp src/generic/enum.hpp src/generic/matrix.hpp src/generic/random.cpp src/generic/oops_test.cpp src/generic/md5_test.cpp src/generic/array_test.cpp src/generic/oops.cpp src/generic/intern-pool_test.cpp src/generic/md5.cpp +fgrep -q ../ints/ src/compat/nullpo.hpp src/compat/iter.hpp src/compat/attr.hpp src/compat/time_t.hpp src/compat/result.hpp src/compat/borrow.hpp src/compat/cast.hpp src/compat/option.hpp src/compat/memory.hpp src/compat/operators.hpp src/compat/fun.hpp src/compat/rawmem.hpp src/compat/option_test.cpp src/compat/nullpo.cpp src/compat/iter_test.cpp src/compat/result_test.cpp +fgrep -q ../ints/ src/login/login.hpp src/login/login_conf.hpp src/login/globals.hpp src/login/login_lan_conf.hpp src/login/login.t.hpp src/login/consts.hpp src/login/login.cpp src/login/login_conf.cpp src/login/main.cpp src/login/globals.cpp src/login/login_lan_conf.cpp +grep -q LineChar src/io/cxxstdio.hpp src/io/dir.hpp src/io/read.hpp src/io/tty.hpp src/io/write.hpp src/io/lock.hpp src/io/extract.hpp src/io/fd.hpp src/io/span.hpp src/io/line.hpp +grep -q CharId src/mmo/config_parse.hpp src/mmo/ids.hpp src/mmo/enums.hpp src/mmo/clif.t.hpp src/mmo/human_time_diff.hpp src/mmo/strs.hpp src/mmo/extract_enums.hpp src/mmo/version.hpp src/mmo/skill.t.hpp src/mmo/consts.hpp src/mmo/cxxstdio_enums.hpp +fgrep -q ../io/ src/high/utils.hpp src/high/mmo.hpp src/high/core.hpp src/high/extract_mmo.hpp src/high/md5more.hpp src/high/md5more.cpp src/high/utils.cpp src/high/core.cpp src/high/extract_mmo.cpp +fgrep -q ../mmo/ src/proto-base/net-array.hpp src/proto-base/net-skewed-length.hpp src/proto-base/net-neutral.hpp src/proto-base/net-string.hpp +fgrep -q ../strings/ src/net/timer.hpp src/net/socket.hpp src/net/timestamp-utils.hpp src/net/timer.t.hpp src/net/ip.hpp src/net/timer.cpp src/net/ip_test.cpp src/net/socket.cpp src/net/timestamp-utils.cpp src/net/ip.cpp +grep -q PartyId src/mmo/config_parse.hpp src/mmo/ids.hpp src/mmo/enums.hpp src/mmo/clif.t.hpp src/mmo/human_time_diff.hpp src/mmo/strs.hpp src/mmo/extract_enums.hpp src/mmo/version.hpp src/mmo/skill.t.hpp src/mmo/consts.hpp src/mmo/cxxstdio_enums.hpp +fgrep -q ../strings/ src/compat/nullpo.hpp src/compat/iter.hpp src/compat/attr.hpp src/compat/time_t.hpp src/compat/result.hpp src/compat/borrow.hpp src/compat/cast.hpp src/compat/option.hpp src/compat/memory.hpp src/compat/operators.hpp src/compat/fun.hpp src/compat/rawmem.hpp src/compat/option_test.cpp src/compat/nullpo.cpp src/compat/iter_test.cpp src/compat/result_test.cpp +fgrep -q ../wire/ src/admin/admin_conf.hpp src/admin/ladmin.hpp src/admin/globals.hpp src/admin/admin_conf.cpp src/admin/ladmin.cpp src/admin/globals.cpp src/admin/main.cpp +fgrep -q ../strings/ src/login/login.hpp src/login/login_conf.hpp src/login/globals.hpp src/login/login_lan_conf.hpp src/login/login.t.hpp src/login/consts.hpp src/login/login.cpp src/login/login_conf.cpp src/login/main.cpp src/login/globals.cpp src/login/login_lan_conf.cpp +touch stamp/proto-base.fwdcheck +grep -q LineSpan src/io/cxxstdio.hpp src/io/dir.hpp src/io/read.hpp src/io/tty.hpp src/io/write.hpp src/io/lock.hpp src/io/extract.hpp src/io/fd.hpp src/io/span.hpp src/io/line.hpp +grep -q Packet_Fixed src/proto2/net-Version.hpp src/proto2/net-SkillID.hpp src/proto2/net-Opt2.hpp src/proto2/net-LOOK.hpp src/proto2/net-CharKey.hpp src/proto2/net-PartyMember.hpp src/proto2/net-Storage.hpp src/proto2/net-Item.hpp src/proto2/login-char.hpp src/proto2/net-ClientVersion.hpp src/proto2/net-CharSelect.hpp src/proto2/net-PartyId.hpp src/proto2/char-user.hpp src/proto2/char-map.hpp src/proto2/net-SkillFlags.hpp src/proto2/net-DIR.hpp src/proto2/net-GlobalReg.hpp src/proto2/net-Opt3.hpp src/proto2/net-HumanTimeDiff.hpp src/proto2/net-SkillInfo.hpp src/proto2/map-user.hpp src/proto2/net-ItemNameId.hpp src/proto2/net-Stats6.hpp src/proto2/net-EPOS.hpp src/proto2/net-CharData.hpp src/proto2/net-DamageType.hpp src/proto2/login-admin.hpp src/proto2/net-ItemType.hpp src/proto2/net-BeingRemoveWhy.hpp src/proto2/net-CharId.hpp src/proto2/net-AccountId.hpp src/proto2/net-StatusChange.hpp src/proto2/net-SEX.hpp src/proto2/net-Opt0.hpp src/proto2/net-PartyMost.hpp src/proto2/net-Point.hpp src/proto2/net-PickupFail.hpp src/proto2/net-BlockId.hpp src/proto2/net-SP.hpp src/proto2/net-Opt1.hpp src/proto2/net-SkillValue.hpp src/proto2/login-user.hpp src/proto2/any-user.hpp src/proto2/net-Species.hpp src/proto2/net-ItemLook.hpp +fgrep -q ../ints/ src/map/script-parse.hpp src/map/map_conf.hpp src/map/storage.hpp src/map/mob.t.hpp src/map/consts.hpp src/map/script-startup.hpp src/map/pc.t.hpp src/map/intif.hpp src/map/skill.hpp src/map/grfio.hpp src/map/map.t.hpp src/map/quest.hpp src/map/battle.hpp src/map/mapflag.hpp src/map/globals.hpp src/map/script-fun.hpp src/map/battle_conf.hpp src/map/script-call.hpp src/map/party.hpp src/map/path.hpp src/map/pc.hpp src/map/itemdb.hpp src/map/script-startup-internal.hpp src/map/battle.t.hpp src/map/script-buffer.hpp src/map/npc-parse.hpp src/map/npc.hpp src/map/atcommand.hpp src/map/chrif.hpp src/map/script-parse-internal.hpp src/map/script-persist.hpp src/map/skill-pools.hpp src/map/tmw.hpp src/map/script-call-internal.hpp src/map/clif.hpp src/map/trade.hpp src/map/npc-internal.hpp src/map/mob.hpp src/map/map.hpp src/map/script-call.t.hpp src/map/script-call-internal.tcc src/map/skill-pools.cpp src/map/clif.cpp src/map/mob.cpp src/map/map.cpp src/map/globals.cpp src/map/trade.cpp src/map/script-startup.cpp src/map/script-call.cpp src/map/intif.cpp src/map/path.cpp src/map/grfio.cpp src/map/quest.cpp src/map/battle.cpp src/map/script-parse.cpp src/map/script-fun.cpp src/map/battle_conf.cpp src/map/map_conf.cpp src/map/pc.cpp src/map/mapflag.cpp src/map/storage.cpp src/map/skill.cpp src/map/itemdb.cpp src/map/npc-parse.cpp src/map/npc.cpp src/map/atcommand.cpp src/map/party.cpp src/map/chrif.cpp src/map/main.cpp src/map/tmw.cpp +fgrep -q ../net/ src/high/utils.hpp src/high/mmo.hpp src/high/core.hpp src/high/extract_mmo.hpp src/high/md5more.hpp src/high/md5more.cpp src/high/utils.cpp src/high/core.cpp src/high/extract_mmo.cpp +types=$(grep -o '\(enum \|class \| struct \|union \)\+[A-Za-z_0-9]\+;$' src/tests/fwd.hpp | sed 's/\(;\|enum \|class \|struct \|union \)//g'); \ + for t in $types; do echo grep -q $t src/tests/fdhack.hpp; grep -qw '\(enum \|class \|struct \|union \)'$t src/tests/fdhack.hpp || { grep -Hnw $t';$' src/tests/fwd.hpp; exit 1; }; done +fgrep -q ../compat/ src/login/login.hpp src/login/login_conf.hpp src/login/globals.hpp src/login/login_lan_conf.hpp src/login/login.t.hpp src/login/consts.hpp src/login/login.cpp src/login/login_conf.cpp src/login/main.cpp src/login/globals.cpp src/login/login_lan_conf.cpp +fgrep -q ../sexpr/ src/ast/quest.hpp src/ast/item.hpp src/ast/script.hpp src/ast/npc.hpp src/ast/npc_test.cpp src/ast/quest.cpp src/ast/item.cpp src/ast/script.cpp src/ast/npc.cpp src/ast/item_test.cpp +fgrep -q ../compat/ src/net/timer.hpp src/net/socket.hpp src/net/timestamp-utils.hpp src/net/timer.t.hpp src/net/ip.hpp src/net/timer.cpp src/net/ip_test.cpp src/net/socket.cpp src/net/timestamp-utils.cpp src/net/ip.cpp +touch stamp/compat.fwdcheck +types=$(grep -o '\(enum \|class \| struct \|union \)\+[A-Za-z_0-9]\+;$' src/strings/fwd.hpp | sed 's/\(;\|enum \|class \|struct \|union \)//g'); \ + for t in $types; do echo grep -q $t src/strings/vstring.hpp src/strings/base.hpp src/strings/tstring.hpp src/strings/sstring.hpp src/strings/rstring.hpp src/strings/astring.hpp src/strings/pair.hpp src/strings/all.hpp src/strings/literal.hpp src/strings/mstring.hpp src/strings/zstring.hpp src/strings/xstring.hpp; grep -qw '\(enum \|class \|struct \|union \)'$t src/strings/vstring.hpp src/strings/base.hpp src/strings/tstring.hpp src/strings/sstring.hpp src/strings/rstring.hpp src/strings/astring.hpp src/strings/pair.hpp src/strings/all.hpp src/strings/literal.hpp src/strings/mstring.hpp src/strings/zstring.hpp src/strings/xstring.hpp || { grep -Hnw $t';$' src/strings/fwd.hpp; exit 1; }; done +grep -q NetPacket_Fixed src/proto2/net-Version.hpp src/proto2/net-SkillID.hpp src/proto2/net-Opt2.hpp src/proto2/net-LOOK.hpp src/proto2/net-CharKey.hpp src/proto2/net-PartyMember.hpp src/proto2/net-Storage.hpp src/proto2/net-Item.hpp src/proto2/login-char.hpp src/proto2/net-ClientVersion.hpp src/proto2/net-CharSelect.hpp src/proto2/net-PartyId.hpp src/proto2/char-user.hpp src/proto2/char-map.hpp src/proto2/net-SkillFlags.hpp src/proto2/net-DIR.hpp src/proto2/net-GlobalReg.hpp src/proto2/net-Opt3.hpp src/proto2/net-HumanTimeDiff.hpp src/proto2/net-SkillInfo.hpp src/proto2/map-user.hpp src/proto2/net-ItemNameId.hpp src/proto2/net-Stats6.hpp src/proto2/net-EPOS.hpp src/proto2/net-CharData.hpp src/proto2/net-DamageType.hpp src/proto2/login-admin.hpp src/proto2/net-ItemType.hpp src/proto2/net-BeingRemoveWhy.hpp src/proto2/net-CharId.hpp src/proto2/net-AccountId.hpp src/proto2/net-StatusChange.hpp src/proto2/net-SEX.hpp src/proto2/net-Opt0.hpp src/proto2/net-PartyMost.hpp src/proto2/net-Point.hpp src/proto2/net-PickupFail.hpp src/proto2/net-BlockId.hpp src/proto2/net-SP.hpp src/proto2/net-Opt1.hpp src/proto2/net-SkillValue.hpp src/proto2/login-user.hpp src/proto2/any-user.hpp src/proto2/net-Species.hpp src/proto2/net-ItemLook.hpp +grep -q ItemNameId src/mmo/config_parse.hpp src/mmo/ids.hpp src/mmo/enums.hpp src/mmo/clif.t.hpp src/mmo/human_time_diff.hpp src/mmo/strs.hpp src/mmo/extract_enums.hpp src/mmo/version.hpp src/mmo/skill.t.hpp src/mmo/consts.hpp src/mmo/cxxstdio_enums.hpp +fgrep -q ../generic/ src/net/timer.hpp src/net/socket.hpp src/net/timestamp-utils.hpp src/net/timer.t.hpp src/net/ip.hpp src/net/timer.cpp src/net/ip_test.cpp src/net/socket.cpp src/net/timestamp-utils.cpp src/net/ip.cpp +fgrep -q ../strings/ src/char/char_lan_conf.hpp src/char/int_storage.hpp src/char/inter.hpp src/char/inter_conf.hpp src/char/globals.hpp src/char/char.hpp src/char/char_conf.hpp src/char/int_party.hpp src/char/consts.hpp src/char/char_conf.cpp src/char/int_party.cpp src/char/char_lan_conf.cpp src/char/int_storage.cpp src/char/inter.cpp src/char/inter_conf.cpp src/char/globals.cpp src/char/main.cpp src/char/char.cpp +grep -q Spanned src/io/cxxstdio.hpp src/io/dir.hpp src/io/read.hpp src/io/tty.hpp src/io/write.hpp src/io/lock.hpp src/io/extract.hpp src/io/fd.hpp src/io/span.hpp src/io/line.hpp +grep -q BlockId src/mmo/config_parse.hpp src/mmo/ids.hpp src/mmo/enums.hpp src/mmo/clif.t.hpp src/mmo/human_time_diff.hpp src/mmo/strs.hpp src/mmo/extract_enums.hpp src/mmo/version.hpp src/mmo/skill.t.hpp src/mmo/consts.hpp src/mmo/cxxstdio_enums.hpp +fgrep -q ../generic/ src/login/login.hpp src/login/login_conf.hpp src/login/globals.hpp src/login/login_lan_conf.hpp src/login/login.t.hpp src/login/consts.hpp src/login/login.cpp src/login/login_conf.cpp src/login/main.cpp src/login/globals.cpp src/login/login_lan_conf.cpp +touch stamp/admin.fwdcheck +includes=$(grep -o '#include.*".*/fwd\.hpp"' src/range/fwd.hpp | sed 's:^[^"]*"::;s:/[^/]*"$:/:'); \ + for inc in $includes; do echo fgrep -q $inc src/range/slice.hpp src/range/slice.tcc src/range/slice_test.cpp; fgrep -q $inc src/range/slice.hpp src/range/slice.tcc src/range/slice_test.cpp || { grep -Hn $inc src/range/fwd.hpp; exit 1; }; done +touch stamp/generic.fwdcheck +types=$(grep -o '\(enum \|class \| struct \|union \)\+[A-Za-z_0-9]\+;$' src/sexpr/fwd.hpp | sed 's/\(;\|enum \|class \|struct \|union \)//g'); \ + for t in $types; do echo grep -q $t src/sexpr/variant.hpp src/sexpr/lexer.hpp src/sexpr/void.hpp src/sexpr/union.hpp src/sexpr/parser.hpp src/sexpr/bind.hpp; grep -qw '\(enum \|class \|struct \|union \)'$t src/sexpr/variant.hpp src/sexpr/lexer.hpp src/sexpr/void.hpp src/sexpr/union.hpp src/sexpr/parser.hpp src/sexpr/bind.hpp || { grep -Hnw $t';$' src/sexpr/fwd.hpp; exit 1; }; done +fgrep -q ../range/ src/map/script-parse.hpp src/map/map_conf.hpp src/map/storage.hpp src/map/mob.t.hpp src/map/consts.hpp src/map/script-startup.hpp src/map/pc.t.hpp src/map/intif.hpp src/map/skill.hpp src/map/grfio.hpp src/map/map.t.hpp src/map/quest.hpp src/map/battle.hpp src/map/mapflag.hpp src/map/globals.hpp src/map/script-fun.hpp src/map/battle_conf.hpp src/map/script-call.hpp src/map/party.hpp src/map/path.hpp src/map/pc.hpp src/map/itemdb.hpp src/map/script-startup-internal.hpp src/map/battle.t.hpp src/map/script-buffer.hpp src/map/npc-parse.hpp src/map/npc.hpp src/map/atcommand.hpp src/map/chrif.hpp src/map/script-parse-internal.hpp src/map/script-persist.hpp src/map/skill-pools.hpp src/map/tmw.hpp src/map/script-call-internal.hpp src/map/clif.hpp src/map/trade.hpp src/map/npc-internal.hpp src/map/mob.hpp src/map/map.hpp src/map/script-call.t.hpp src/map/script-call-internal.tcc src/map/skill-pools.cpp src/map/clif.cpp src/map/mob.cpp src/map/map.cpp src/map/globals.cpp src/map/trade.cpp src/map/script-startup.cpp src/map/script-call.cpp src/map/intif.cpp src/map/path.cpp src/map/grfio.cpp src/map/quest.cpp src/map/battle.cpp src/map/script-parse.cpp src/map/script-fun.cpp src/map/battle_conf.cpp src/map/map_conf.cpp src/map/pc.cpp src/map/mapflag.cpp src/map/storage.cpp src/map/skill.cpp src/map/itemdb.cpp src/map/npc-parse.cpp src/map/npc.cpp src/map/atcommand.cpp src/map/party.cpp src/map/chrif.cpp src/map/main.cpp src/map/tmw.cpp +types=$(grep -o '\(enum \|class \| struct \|union \)\+[A-Za-z_0-9]\+;$' src/wire/fwd.hpp | sed 's/\(;\|enum \|class \|struct \|union \)//g'); \ + for t in $types; do echo grep -q $t src/wire/packets.hpp; grep -qw '\(enum \|class \|struct \|union \)'$t src/wire/packets.hpp || { grep -Hnw $t';$' src/wire/fwd.hpp; exit 1; }; done +includes=$(grep -o '#include.*".*/fwd\.hpp"' src/tests/fwd.hpp | sed 's:^[^"]*"::;s:/[^/]*"$:/:'); \ + for inc in $includes; do echo fgrep -q $inc src/tests/fdhack.hpp; fgrep -q $inc src/tests/fdhack.hpp || { grep -Hn $inc src/tests/fwd.hpp; exit 1; }; done +grep -q GmLevel src/mmo/config_parse.hpp src/mmo/ids.hpp src/mmo/enums.hpp src/mmo/clif.t.hpp src/mmo/human_time_diff.hpp src/mmo/strs.hpp src/mmo/extract_enums.hpp src/mmo/version.hpp src/mmo/skill.t.hpp src/mmo/consts.hpp src/mmo/cxxstdio_enums.hpp +fgrep -q ../io/ src/net/timer.hpp src/net/socket.hpp src/net/timestamp-utils.hpp src/net/timer.t.hpp src/net/ip.hpp src/net/timer.cpp src/net/ip_test.cpp src/net/socket.cpp src/net/timestamp-utils.cpp src/net/ip.cpp +fgrep -q ../mmo/ src/high/utils.hpp src/high/mmo.hpp src/high/core.hpp src/high/extract_mmo.hpp src/high/md5more.hpp src/high/md5more.cpp src/high/utils.cpp src/high/core.cpp src/high/extract_mmo.cpp +grep -q ClientVersion src/mmo/config_parse.hpp src/mmo/ids.hpp src/mmo/enums.hpp src/mmo/clif.t.hpp src/mmo/human_time_diff.hpp src/mmo/strs.hpp src/mmo/extract_enums.hpp src/mmo/version.hpp src/mmo/skill.t.hpp src/mmo/consts.hpp src/mmo/cxxstdio_enums.hpp +touch stamp/range.fwdcheck +grep -q AccountName src/mmo/config_parse.hpp src/mmo/ids.hpp src/mmo/enums.hpp src/mmo/clif.t.hpp src/mmo/human_time_diff.hpp src/mmo/strs.hpp src/mmo/extract_enums.hpp src/mmo/version.hpp src/mmo/skill.t.hpp src/mmo/consts.hpp src/mmo/cxxstdio_enums.hpp +fgrep -q ../io/ src/login/login.hpp src/login/login_conf.hpp src/login/globals.hpp src/login/login_lan_conf.hpp src/login/login.t.hpp src/login/consts.hpp src/login/login.cpp src/login/login_conf.cpp src/login/main.cpp src/login/globals.cpp src/login/login_lan_conf.cpp +fgrep -q ../strings/ src/tests/fdhack.hpp +fgrep -q ../compat/ src/char/char_lan_conf.hpp src/char/int_storage.hpp src/char/inter.hpp src/char/inter_conf.hpp src/char/globals.hpp src/char/char.hpp src/char/char_conf.hpp src/char/int_party.hpp src/char/consts.hpp src/char/char_conf.cpp src/char/int_party.cpp src/char/char_lan_conf.cpp src/char/int_storage.cpp src/char/inter.cpp src/char/inter_conf.cpp src/char/globals.cpp src/char/main.cpp src/char/char.cpp +includes=$(grep -o '#include.*".*/fwd\.hpp"' src/io/fwd.hpp | sed 's:^[^"]*"::;s:/[^/]*"$:/:'); \ + for inc in $includes; do echo fgrep -q $inc src/io/cxxstdio.hpp src/io/dir.hpp src/io/read.hpp src/io/tty.hpp src/io/write.hpp src/io/lock.hpp src/io/extract.hpp src/io/fd.hpp src/io/span.hpp src/io/line.hpp src/io/line.cpp src/io/extract_test.cpp src/io/dir.cpp src/io/read.cpp src/io/line_test.cpp src/io/write_test.cpp src/io/lock.cpp src/io/write.cpp src/io/extract.cpp src/io/read_test.cpp src/io/fd.cpp src/io/span.cpp; fgrep -q $inc src/io/cxxstdio.hpp src/io/dir.hpp src/io/read.hpp src/io/tty.hpp src/io/write.hpp src/io/lock.hpp src/io/extract.hpp src/io/fd.hpp src/io/span.hpp src/io/line.hpp src/io/line.cpp src/io/extract_test.cpp src/io/dir.cpp src/io/read.cpp src/io/line_test.cpp src/io/write_test.cpp src/io/lock.cpp src/io/write.cpp src/io/extract.cpp src/io/read_test.cpp src/io/fd.cpp src/io/span.cpp || { grep -Hn $inc src/io/fwd.hpp; exit 1; }; done +grep -q RecvResult src/wire/packets.hpp +fgrep -q ../strings/ src/map/script-parse.hpp src/map/map_conf.hpp src/map/storage.hpp src/map/mob.t.hpp src/map/consts.hpp src/map/script-startup.hpp src/map/pc.t.hpp src/map/intif.hpp src/map/skill.hpp src/map/grfio.hpp src/map/map.t.hpp src/map/quest.hpp src/map/battle.hpp src/map/mapflag.hpp src/map/globals.hpp src/map/script-fun.hpp src/map/battle_conf.hpp src/map/script-call.hpp src/map/party.hpp src/map/path.hpp src/map/pc.hpp src/map/itemdb.hpp src/map/script-startup-internal.hpp src/map/battle.t.hpp src/map/script-buffer.hpp src/map/npc-parse.hpp src/map/npc.hpp src/map/atcommand.hpp src/map/chrif.hpp src/map/script-parse-internal.hpp src/map/script-persist.hpp src/map/skill-pools.hpp src/map/tmw.hpp src/map/script-call-internal.hpp src/map/clif.hpp src/map/trade.hpp src/map/npc-internal.hpp src/map/mob.hpp src/map/map.hpp src/map/script-call.t.hpp src/map/script-call-internal.tcc src/map/skill-pools.cpp src/map/clif.cpp src/map/mob.cpp src/map/map.cpp src/map/globals.cpp src/map/trade.cpp src/map/script-startup.cpp src/map/script-call.cpp src/map/intif.cpp src/map/path.cpp src/map/grfio.cpp src/map/quest.cpp src/map/battle.cpp src/map/script-parse.cpp src/map/script-fun.cpp src/map/battle_conf.cpp src/map/map_conf.cpp src/map/pc.cpp src/map/mapflag.cpp src/map/storage.cpp src/map/skill.cpp src/map/itemdb.cpp src/map/npc-parse.cpp src/map/npc.cpp src/map/atcommand.cpp src/map/party.cpp src/map/chrif.cpp src/map/main.cpp src/map/tmw.cpp +grep -q Packet_Payload src/proto2/net-Version.hpp src/proto2/net-SkillID.hpp src/proto2/net-Opt2.hpp src/proto2/net-LOOK.hpp src/proto2/net-CharKey.hpp src/proto2/net-PartyMember.hpp src/proto2/net-Storage.hpp src/proto2/net-Item.hpp src/proto2/login-char.hpp src/proto2/net-ClientVersion.hpp src/proto2/net-CharSelect.hpp src/proto2/net-PartyId.hpp src/proto2/char-user.hpp src/proto2/char-map.hpp src/proto2/net-SkillFlags.hpp src/proto2/net-DIR.hpp src/proto2/net-GlobalReg.hpp src/proto2/net-Opt3.hpp src/proto2/net-HumanTimeDiff.hpp src/proto2/net-SkillInfo.hpp src/proto2/map-user.hpp src/proto2/net-ItemNameId.hpp src/proto2/net-Stats6.hpp src/proto2/net-EPOS.hpp src/proto2/net-CharData.hpp src/proto2/net-DamageType.hpp src/proto2/login-admin.hpp src/proto2/net-ItemType.hpp src/proto2/net-BeingRemoveWhy.hpp src/proto2/net-CharId.hpp src/proto2/net-AccountId.hpp src/proto2/net-StatusChange.hpp src/proto2/net-SEX.hpp src/proto2/net-Opt0.hpp src/proto2/net-PartyMost.hpp src/proto2/net-Point.hpp src/proto2/net-PickupFail.hpp src/proto2/net-BlockId.hpp src/proto2/net-SP.hpp src/proto2/net-Opt1.hpp src/proto2/net-SkillValue.hpp src/proto2/login-user.hpp src/proto2/any-user.hpp src/proto2/net-Species.hpp src/proto2/net-ItemLook.hpp +fgrep -q ../io/ src/tests/fdhack.hpp +grep -q AccountPass src/mmo/config_parse.hpp src/mmo/ids.hpp src/mmo/enums.hpp src/mmo/clif.t.hpp src/mmo/human_time_diff.hpp src/mmo/strs.hpp src/mmo/extract_enums.hpp src/mmo/version.hpp src/mmo/skill.t.hpp src/mmo/consts.hpp src/mmo/cxxstdio_enums.hpp +fgrep -q ../net/ src/login/login.hpp src/login/login_conf.hpp src/login/globals.hpp src/login/login_lan_conf.hpp src/login/login.t.hpp src/login/consts.hpp src/login/login.cpp src/login/login_conf.cpp src/login/main.cpp src/login/globals.cpp src/login/login_lan_conf.cpp +includes=$(grep -o '#include.*".*/fwd\.hpp"' src/wire/fwd.hpp | sed 's:^[^"]*"::;s:/[^/]*"$:/:'); \ + for inc in $includes; do echo fgrep -q $inc src/wire/packets.hpp src/wire/packets.cpp; fgrep -q $inc src/wire/packets.hpp src/wire/packets.cpp || { grep -Hn $inc src/wire/fwd.hpp; exit 1; }; done +grep -q NetPacket_Payload src/proto2/net-Version.hpp src/proto2/net-SkillID.hpp src/proto2/net-Opt2.hpp src/proto2/net-LOOK.hpp src/proto2/net-CharKey.hpp src/proto2/net-PartyMember.hpp src/proto2/net-Storage.hpp src/proto2/net-Item.hpp src/proto2/login-char.hpp src/proto2/net-ClientVersion.hpp src/proto2/net-CharSelect.hpp src/proto2/net-PartyId.hpp src/proto2/char-user.hpp src/proto2/char-map.hpp src/proto2/net-SkillFlags.hpp src/proto2/net-DIR.hpp src/proto2/net-GlobalReg.hpp src/proto2/net-Opt3.hpp src/proto2/net-HumanTimeDiff.hpp src/proto2/net-SkillInfo.hpp src/proto2/map-user.hpp src/proto2/net-ItemNameId.hpp src/proto2/net-Stats6.hpp src/proto2/net-EPOS.hpp src/proto2/net-CharData.hpp src/proto2/net-DamageType.hpp src/proto2/login-admin.hpp src/proto2/net-ItemType.hpp src/proto2/net-BeingRemoveWhy.hpp src/proto2/net-CharId.hpp src/proto2/net-AccountId.hpp src/proto2/net-StatusChange.hpp src/proto2/net-SEX.hpp src/proto2/net-Opt0.hpp src/proto2/net-PartyMost.hpp src/proto2/net-Point.hpp src/proto2/net-PickupFail.hpp src/proto2/net-BlockId.hpp src/proto2/net-SP.hpp src/proto2/net-Opt1.hpp src/proto2/net-SkillValue.hpp src/proto2/login-user.hpp src/proto2/any-user.hpp src/proto2/net-Species.hpp src/proto2/net-ItemLook.hpp +fgrep -q ../proto2/ src/high/utils.hpp src/high/mmo.hpp src/high/core.hpp src/high/extract_mmo.hpp src/high/md5more.hpp src/high/md5more.cpp src/high/utils.cpp src/high/core.cpp src/high/extract_mmo.cpp +fgrep -q ../compat/ src/map/script-parse.hpp src/map/map_conf.hpp src/map/storage.hpp src/map/mob.t.hpp src/map/consts.hpp src/map/script-startup.hpp src/map/pc.t.hpp src/map/intif.hpp src/map/skill.hpp src/map/grfio.hpp src/map/map.t.hpp src/map/quest.hpp src/map/battle.hpp src/map/mapflag.hpp src/map/globals.hpp src/map/script-fun.hpp src/map/battle_conf.hpp src/map/script-call.hpp src/map/party.hpp src/map/path.hpp src/map/pc.hpp src/map/itemdb.hpp src/map/script-startup-internal.hpp src/map/battle.t.hpp src/map/script-buffer.hpp src/map/npc-parse.hpp src/map/npc.hpp src/map/atcommand.hpp src/map/chrif.hpp src/map/script-parse-internal.hpp src/map/script-persist.hpp src/map/skill-pools.hpp src/map/tmw.hpp src/map/script-call-internal.hpp src/map/clif.hpp src/map/trade.hpp src/map/npc-internal.hpp src/map/mob.hpp src/map/map.hpp src/map/script-call.t.hpp src/map/script-call-internal.tcc src/map/skill-pools.cpp src/map/clif.cpp src/map/mob.cpp src/map/map.cpp src/map/globals.cpp src/map/trade.cpp src/map/script-startup.cpp src/map/script-call.cpp src/map/intif.cpp src/map/path.cpp src/map/grfio.cpp src/map/quest.cpp src/map/battle.cpp src/map/script-parse.cpp src/map/script-fun.cpp src/map/battle_conf.cpp src/map/map_conf.cpp src/map/pc.cpp src/map/mapflag.cpp src/map/storage.cpp src/map/skill.cpp src/map/itemdb.cpp src/map/npc-parse.cpp src/map/npc.cpp src/map/atcommand.cpp src/map/party.cpp src/map/chrif.cpp src/map/main.cpp src/map/tmw.cpp +grep -q AccountCrypt src/mmo/config_parse.hpp src/mmo/ids.hpp src/mmo/enums.hpp src/mmo/clif.t.hpp src/mmo/human_time_diff.hpp src/mmo/strs.hpp src/mmo/extract_enums.hpp src/mmo/version.hpp src/mmo/skill.t.hpp src/mmo/consts.hpp src/mmo/cxxstdio_enums.hpp +grep -q MString src/strings/vstring.hpp src/strings/base.hpp src/strings/tstring.hpp src/strings/sstring.hpp src/strings/rstring.hpp src/strings/astring.hpp src/strings/pair.hpp src/strings/all.hpp src/strings/literal.hpp src/strings/mstring.hpp src/strings/zstring.hpp src/strings/xstring.hpp +grep -q Packet_Head src/proto2/net-Version.hpp src/proto2/net-SkillID.hpp src/proto2/net-Opt2.hpp src/proto2/net-LOOK.hpp src/proto2/net-CharKey.hpp src/proto2/net-PartyMember.hpp src/proto2/net-Storage.hpp src/proto2/net-Item.hpp src/proto2/login-char.hpp src/proto2/net-ClientVersion.hpp src/proto2/net-CharSelect.hpp src/proto2/net-PartyId.hpp src/proto2/char-user.hpp src/proto2/char-map.hpp src/proto2/net-SkillFlags.hpp src/proto2/net-DIR.hpp src/proto2/net-GlobalReg.hpp src/proto2/net-Opt3.hpp src/proto2/net-HumanTimeDiff.hpp src/proto2/net-SkillInfo.hpp src/proto2/map-user.hpp src/proto2/net-ItemNameId.hpp src/proto2/net-Stats6.hpp src/proto2/net-EPOS.hpp src/proto2/net-CharData.hpp src/proto2/net-DamageType.hpp src/proto2/login-admin.hpp src/proto2/net-ItemType.hpp src/proto2/net-BeingRemoveWhy.hpp src/proto2/net-CharId.hpp src/proto2/net-AccountId.hpp src/proto2/net-StatusChange.hpp src/proto2/net-SEX.hpp src/proto2/net-Opt0.hpp src/proto2/net-PartyMost.hpp src/proto2/net-Point.hpp src/proto2/net-PickupFail.hpp src/proto2/net-BlockId.hpp src/proto2/net-SP.hpp src/proto2/net-Opt1.hpp src/proto2/net-SkillValue.hpp src/proto2/login-user.hpp src/proto2/any-user.hpp src/proto2/net-Species.hpp src/proto2/net-ItemLook.hpp +touch stamp/high.fwdcheck +fgrep -q ../generic/ src/map/script-parse.hpp src/map/map_conf.hpp src/map/storage.hpp src/map/mob.t.hpp src/map/consts.hpp src/map/script-startup.hpp src/map/pc.t.hpp src/map/intif.hpp src/map/skill.hpp src/map/grfio.hpp src/map/map.t.hpp src/map/quest.hpp src/map/battle.hpp src/map/mapflag.hpp src/map/globals.hpp src/map/script-fun.hpp src/map/battle_conf.hpp src/map/script-call.hpp src/map/party.hpp src/map/path.hpp src/map/pc.hpp src/map/itemdb.hpp src/map/script-startup-internal.hpp src/map/battle.t.hpp src/map/script-buffer.hpp src/map/npc-parse.hpp src/map/npc.hpp src/map/atcommand.hpp src/map/chrif.hpp src/map/script-parse-internal.hpp src/map/script-persist.hpp src/map/skill-pools.hpp src/map/tmw.hpp src/map/script-call-internal.hpp src/map/clif.hpp src/map/trade.hpp src/map/npc-internal.hpp src/map/mob.hpp src/map/map.hpp src/map/script-call.t.hpp src/map/script-call-internal.tcc src/map/skill-pools.cpp src/map/clif.cpp src/map/mob.cpp src/map/map.cpp src/map/globals.cpp src/map/trade.cpp src/map/script-startup.cpp src/map/script-call.cpp src/map/intif.cpp src/map/path.cpp src/map/grfio.cpp src/map/quest.cpp src/map/battle.cpp src/map/script-parse.cpp src/map/script-fun.cpp src/map/battle_conf.cpp src/map/map_conf.cpp src/map/pc.cpp src/map/mapflag.cpp src/map/storage.cpp src/map/skill.cpp src/map/itemdb.cpp src/map/npc-parse.cpp src/map/npc.cpp src/map/atcommand.cpp src/map/party.cpp src/map/chrif.cpp src/map/main.cpp src/map/tmw.cpp +grep -q RString src/strings/vstring.hpp src/strings/base.hpp src/strings/tstring.hpp src/strings/sstring.hpp src/strings/rstring.hpp src/strings/astring.hpp src/strings/pair.hpp src/strings/all.hpp src/strings/literal.hpp src/strings/mstring.hpp src/strings/zstring.hpp src/strings/xstring.hpp +fgrep -q ../ints/ src/wire/packets.hpp src/wire/packets.cpp +fgrep -q ../ints/ src/io/cxxstdio.hpp src/io/dir.hpp src/io/read.hpp src/io/tty.hpp src/io/write.hpp src/io/lock.hpp src/io/extract.hpp src/io/fd.hpp src/io/span.hpp src/io/line.hpp src/io/line.cpp src/io/extract_test.cpp src/io/dir.cpp src/io/read.cpp src/io/line_test.cpp src/io/write_test.cpp src/io/lock.cpp src/io/write.cpp src/io/extract.cpp src/io/read_test.cpp src/io/fd.cpp src/io/span.cpp +includes=$(grep -o '#include.*".*/fwd\.hpp"' src/sexpr/fwd.hpp | sed 's:^[^"]*"::;s:/[^/]*"$:/:'); \ + for inc in $includes; do echo fgrep -q $inc src/sexpr/variant.hpp src/sexpr/lexer.hpp src/sexpr/void.hpp src/sexpr/union.hpp src/sexpr/parser.hpp src/sexpr/bind.hpp src/sexpr/variant.tcc src/sexpr/union_test.cpp src/sexpr/parser_test.cpp src/sexpr/variant_test.cpp src/sexpr/lexer.cpp src/sexpr/parser.cpp src/sexpr/lexer_test.cpp; fgrep -q $inc src/sexpr/variant.hpp src/sexpr/lexer.hpp src/sexpr/void.hpp src/sexpr/union.hpp src/sexpr/parser.hpp src/sexpr/bind.hpp src/sexpr/variant.tcc src/sexpr/union_test.cpp src/sexpr/parser_test.cpp src/sexpr/variant_test.cpp src/sexpr/lexer.cpp src/sexpr/parser.cpp src/sexpr/lexer_test.cpp || { grep -Hn $inc src/sexpr/fwd.hpp; exit 1; }; done +grep -q AString src/strings/vstring.hpp src/strings/base.hpp src/strings/tstring.hpp src/strings/sstring.hpp src/strings/rstring.hpp src/strings/astring.hpp src/strings/pair.hpp src/strings/all.hpp src/strings/literal.hpp src/strings/mstring.hpp src/strings/zstring.hpp src/strings/xstring.hpp +g++-8 -std=c++0x -fuse-ld=gold obj/ast/item_test.pdc.o obj/ast/item.pdc.o obj/ast/script.pdc.o obj/generic/oops.pdc.o obj/io/dir.pdc.o obj/io/fd.pdc.o obj/io/line.pdc.o obj/io/read.pdc.o obj/io/span.pdc.o obj/mmo/ids.pdc.o obj/mmo/strs.pdc.o obj/strings/astring.pdc.o obj/strings/literal.pdc.o obj/strings/mstring.pdc.o obj/strings/rstring.pdc.o obj/strings/sstring.pdc.o obj/strings/tstring.pdc.o obj/strings/xstring.pdc.o obj/strings/zstring.pdc.o obj/io/extract.pdc.o obj/mmo/extract_enums.pdc.o obj/gtest_main.pdc.o obj/gtest-all.pdc.o -o bin/tests/gtest-ast--item.elf +fgrep -q ../mmo/ src/login/login.hpp src/login/login_conf.hpp src/login/globals.hpp src/login/login_lan_conf.hpp src/login/login.t.hpp src/login/consts.hpp src/login/login.cpp src/login/login_conf.cpp src/login/main.cpp src/login/globals.cpp src/login/login_lan_conf.cpp +grep -q NetPacket_Head src/proto2/net-Version.hpp src/proto2/net-SkillID.hpp src/proto2/net-Opt2.hpp src/proto2/net-LOOK.hpp src/proto2/net-CharKey.hpp src/proto2/net-PartyMember.hpp src/proto2/net-Storage.hpp src/proto2/net-Item.hpp src/proto2/login-char.hpp src/proto2/net-ClientVersion.hpp src/proto2/net-CharSelect.hpp src/proto2/net-PartyId.hpp src/proto2/char-user.hpp src/proto2/char-map.hpp src/proto2/net-SkillFlags.hpp src/proto2/net-DIR.hpp src/proto2/net-GlobalReg.hpp src/proto2/net-Opt3.hpp src/proto2/net-HumanTimeDiff.hpp src/proto2/net-SkillInfo.hpp src/proto2/map-user.hpp src/proto2/net-ItemNameId.hpp src/proto2/net-Stats6.hpp src/proto2/net-EPOS.hpp src/proto2/net-CharData.hpp src/proto2/net-DamageType.hpp src/proto2/login-admin.hpp src/proto2/net-ItemType.hpp src/proto2/net-BeingRemoveWhy.hpp src/proto2/net-CharId.hpp src/proto2/net-AccountId.hpp src/proto2/net-StatusChange.hpp src/proto2/net-SEX.hpp src/proto2/net-Opt0.hpp src/proto2/net-PartyMost.hpp src/proto2/net-Point.hpp src/proto2/net-PickupFail.hpp src/proto2/net-BlockId.hpp src/proto2/net-SP.hpp src/proto2/net-Opt1.hpp src/proto2/net-SkillValue.hpp src/proto2/login-user.hpp src/proto2/any-user.hpp src/proto2/net-Species.hpp src/proto2/net-ItemLook.hpp +fgrep -q ../generic/ src/char/char_lan_conf.hpp src/char/int_storage.hpp src/char/inter.hpp src/char/inter_conf.hpp src/char/globals.hpp src/char/char.hpp src/char/char_conf.hpp src/char/int_party.hpp src/char/consts.hpp src/char/char_conf.cpp src/char/int_party.cpp src/char/char_lan_conf.cpp src/char/int_storage.cpp src/char/inter.cpp src/char/inter_conf.cpp src/char/globals.cpp src/char/main.cpp src/char/char.cpp +touch stamp/tests.fwdcheck +fgrep -q ../proto2/ src/net/timer.hpp src/net/socket.hpp src/net/timestamp-utils.hpp src/net/timer.t.hpp src/net/ip.hpp src/net/timer.cpp src/net/ip_test.cpp src/net/socket.cpp src/net/timestamp-utils.cpp src/net/ip.cpp +grep -q AccountEmail src/mmo/config_parse.hpp src/mmo/ids.hpp src/mmo/enums.hpp src/mmo/clif.t.hpp src/mmo/human_time_diff.hpp src/mmo/strs.hpp src/mmo/extract_enums.hpp src/mmo/version.hpp src/mmo/skill.t.hpp src/mmo/consts.hpp src/mmo/cxxstdio_enums.hpp +fgrep -q ../mmo/ src/ast/quest.hpp src/ast/item.hpp src/ast/script.hpp src/ast/npc.hpp src/ast/npc_test.cpp src/ast/quest.cpp src/ast/item.cpp src/ast/script.cpp src/ast/npc.cpp src/ast/item_test.cpp +grep -q Packet_Repeat src/proto2/net-Version.hpp src/proto2/net-SkillID.hpp src/proto2/net-Opt2.hpp src/proto2/net-LOOK.hpp src/proto2/net-CharKey.hpp src/proto2/net-PartyMember.hpp src/proto2/net-Storage.hpp src/proto2/net-Item.hpp src/proto2/login-char.hpp src/proto2/net-ClientVersion.hpp src/proto2/net-CharSelect.hpp src/proto2/net-PartyId.hpp src/proto2/char-user.hpp src/proto2/char-map.hpp src/proto2/net-SkillFlags.hpp src/proto2/net-DIR.hpp src/proto2/net-GlobalReg.hpp src/proto2/net-Opt3.hpp src/proto2/net-HumanTimeDiff.hpp src/proto2/net-SkillInfo.hpp src/proto2/map-user.hpp src/proto2/net-ItemNameId.hpp src/proto2/net-Stats6.hpp src/proto2/net-EPOS.hpp src/proto2/net-CharData.hpp src/proto2/net-DamageType.hpp src/proto2/login-admin.hpp src/proto2/net-ItemType.hpp src/proto2/net-BeingRemoveWhy.hpp src/proto2/net-CharId.hpp src/proto2/net-AccountId.hpp src/proto2/net-StatusChange.hpp src/proto2/net-SEX.hpp src/proto2/net-Opt0.hpp src/proto2/net-PartyMost.hpp src/proto2/net-Point.hpp src/proto2/net-PickupFail.hpp src/proto2/net-BlockId.hpp src/proto2/net-SP.hpp src/proto2/net-Opt1.hpp src/proto2/net-SkillValue.hpp src/proto2/login-user.hpp src/proto2/any-user.hpp src/proto2/net-Species.hpp src/proto2/net-ItemLook.hpp +g++-8 -std=c++0x -fuse-ld=gold obj/compat/option_test.pdc.o obj/strings/literal.pdc.o obj/gtest_main.pdc.o obj/gtest-all.pdc.o -o bin/tests/gtest-compat--option.elf +fgrep -q ../io/ src/char/char_lan_conf.hpp src/char/int_storage.hpp src/char/inter.hpp src/char/inter_conf.hpp src/char/globals.hpp src/char/char.hpp src/char/char_conf.hpp src/char/int_party.hpp src/char/consts.hpp src/char/char_conf.cpp src/char/int_party.cpp src/char/char_lan_conf.cpp src/char/int_storage.cpp src/char/inter.cpp src/char/inter_conf.cpp src/char/globals.cpp src/char/main.cpp src/char/char.cpp +grep -q ServerName src/mmo/config_parse.hpp src/mmo/ids.hpp src/mmo/enums.hpp src/mmo/clif.t.hpp src/mmo/human_time_diff.hpp src/mmo/strs.hpp src/mmo/extract_enums.hpp src/mmo/version.hpp src/mmo/skill.t.hpp src/mmo/consts.hpp src/mmo/cxxstdio_enums.hpp +g++-8 -std=c++0x -fuse-ld=gold obj/compat/iter_test.pdc.o obj/gtest_main.pdc.o obj/gtest-all.pdc.o -o bin/tests/gtest-compat--iter.elf +grep -q NetPacket_Repeat src/proto2/net-Version.hpp src/proto2/net-SkillID.hpp src/proto2/net-Opt2.hpp src/proto2/net-LOOK.hpp src/proto2/net-CharKey.hpp src/proto2/net-PartyMember.hpp src/proto2/net-Storage.hpp src/proto2/net-Item.hpp src/proto2/login-char.hpp src/proto2/net-ClientVersion.hpp src/proto2/net-CharSelect.hpp src/proto2/net-PartyId.hpp src/proto2/char-user.hpp src/proto2/char-map.hpp src/proto2/net-SkillFlags.hpp src/proto2/net-DIR.hpp src/proto2/net-GlobalReg.hpp src/proto2/net-Opt3.hpp src/proto2/net-HumanTimeDiff.hpp src/proto2/net-SkillInfo.hpp src/proto2/map-user.hpp src/proto2/net-ItemNameId.hpp src/proto2/net-Stats6.hpp src/proto2/net-EPOS.hpp src/proto2/net-CharData.hpp src/proto2/net-DamageType.hpp src/proto2/login-admin.hpp src/proto2/net-ItemType.hpp src/proto2/net-BeingRemoveWhy.hpp src/proto2/net-CharId.hpp src/proto2/net-AccountId.hpp src/proto2/net-StatusChange.hpp src/proto2/net-SEX.hpp src/proto2/net-Opt0.hpp src/proto2/net-PartyMost.hpp src/proto2/net-Point.hpp src/proto2/net-PickupFail.hpp src/proto2/net-BlockId.hpp src/proto2/net-SP.hpp src/proto2/net-Opt1.hpp src/proto2/net-SkillValue.hpp src/proto2/login-user.hpp src/proto2/any-user.hpp src/proto2/net-Species.hpp src/proto2/net-ItemLook.hpp +grep -q XString src/strings/vstring.hpp src/strings/base.hpp src/strings/tstring.hpp src/strings/sstring.hpp src/strings/rstring.hpp src/strings/astring.hpp src/strings/pair.hpp src/strings/all.hpp src/strings/literal.hpp src/strings/mstring.hpp src/strings/zstring.hpp src/strings/xstring.hpp +fgrep -q ../strings/ src/sexpr/variant.hpp src/sexpr/lexer.hpp src/sexpr/void.hpp src/sexpr/union.hpp src/sexpr/parser.hpp src/sexpr/bind.hpp src/sexpr/variant.tcc src/sexpr/union_test.cpp src/sexpr/parser_test.cpp src/sexpr/variant_test.cpp src/sexpr/lexer.cpp src/sexpr/parser.cpp src/sexpr/lexer_test.cpp +grep -q PartyName src/mmo/config_parse.hpp src/mmo/ids.hpp src/mmo/enums.hpp src/mmo/clif.t.hpp src/mmo/human_time_diff.hpp src/mmo/strs.hpp src/mmo/extract_enums.hpp src/mmo/version.hpp src/mmo/skill.t.hpp src/mmo/consts.hpp src/mmo/cxxstdio_enums.hpp +fgrep -q ../net/ src/char/char_lan_conf.hpp src/char/int_storage.hpp src/char/inter.hpp src/char/inter_conf.hpp src/char/globals.hpp src/char/char.hpp src/char/char_conf.hpp src/char/int_party.hpp src/char/consts.hpp src/char/char_conf.cpp src/char/int_party.cpp src/char/char_lan_conf.cpp src/char/int_storage.cpp src/char/inter.cpp src/char/inter_conf.cpp src/char/globals.cpp src/char/main.cpp src/char/char.cpp +grep -q Packet_Option src/proto2/net-Version.hpp src/proto2/net-SkillID.hpp src/proto2/net-Opt2.hpp src/proto2/net-LOOK.hpp src/proto2/net-CharKey.hpp src/proto2/net-PartyMember.hpp src/proto2/net-Storage.hpp src/proto2/net-Item.hpp src/proto2/login-char.hpp src/proto2/net-ClientVersion.hpp src/proto2/net-CharSelect.hpp src/proto2/net-PartyId.hpp src/proto2/char-user.hpp src/proto2/char-map.hpp src/proto2/net-SkillFlags.hpp src/proto2/net-DIR.hpp src/proto2/net-GlobalReg.hpp src/proto2/net-Opt3.hpp src/proto2/net-HumanTimeDiff.hpp src/proto2/net-SkillInfo.hpp src/proto2/map-user.hpp src/proto2/net-ItemNameId.hpp src/proto2/net-Stats6.hpp src/proto2/net-EPOS.hpp src/proto2/net-CharData.hpp src/proto2/net-DamageType.hpp src/proto2/login-admin.hpp src/proto2/net-ItemType.hpp src/proto2/net-BeingRemoveWhy.hpp src/proto2/net-CharId.hpp src/proto2/net-AccountId.hpp src/proto2/net-StatusChange.hpp src/proto2/net-SEX.hpp src/proto2/net-Opt0.hpp src/proto2/net-PartyMost.hpp src/proto2/net-Point.hpp src/proto2/net-PickupFail.hpp src/proto2/net-BlockId.hpp src/proto2/net-SP.hpp src/proto2/net-Opt1.hpp src/proto2/net-SkillValue.hpp src/proto2/login-user.hpp src/proto2/any-user.hpp src/proto2/net-Species.hpp src/proto2/net-ItemLook.hpp +g++-8 -std=c++0x -fuse-ld=gold obj/compat/result_test.pdc.o obj/strings/literal.pdc.o obj/strings/mstring.pdc.o obj/strings/rstring.pdc.o obj/strings/astring.pdc.o obj/strings/sstring.pdc.o obj/strings/tstring.pdc.o obj/strings/xstring.pdc.o obj/strings/zstring.pdc.o obj/gtest_main.pdc.o obj/gtest-all.pdc.o -o bin/tests/gtest-compat--result.elf +fgrep -q ../high/ src/ast/quest.hpp src/ast/item.hpp src/ast/script.hpp src/ast/npc.hpp src/ast/npc_test.cpp src/ast/quest.cpp src/ast/item.cpp src/ast/script.cpp src/ast/npc.cpp src/ast/item_test.cpp +fgrep -q ../io/ src/sexpr/variant.hpp src/sexpr/lexer.hpp src/sexpr/void.hpp src/sexpr/union.hpp src/sexpr/parser.hpp src/sexpr/bind.hpp src/sexpr/variant.tcc src/sexpr/union_test.cpp src/sexpr/parser_test.cpp src/sexpr/variant_test.cpp src/sexpr/lexer.cpp src/sexpr/parser.cpp src/sexpr/lexer_test.cpp +grep -q QuestId src/mmo/config_parse.hpp src/mmo/ids.hpp src/mmo/enums.hpp src/mmo/clif.t.hpp src/mmo/human_time_diff.hpp src/mmo/strs.hpp src/mmo/extract_enums.hpp src/mmo/version.hpp src/mmo/skill.t.hpp src/mmo/consts.hpp src/mmo/cxxstdio_enums.hpp +fgrep -q ../compat/ src/wire/packets.hpp src/wire/packets.cpp +fgrep -q ../wire/ src/net/timer.hpp src/net/socket.hpp src/net/timestamp-utils.hpp src/net/timer.t.hpp src/net/ip.hpp src/net/timer.cpp src/net/ip_test.cpp src/net/socket.cpp src/net/timestamp-utils.cpp src/net/ip.cpp +grep -q LString src/strings/vstring.hpp src/strings/base.hpp src/strings/tstring.hpp src/strings/sstring.hpp src/strings/rstring.hpp src/strings/astring.hpp src/strings/pair.hpp src/strings/all.hpp src/strings/literal.hpp src/strings/mstring.hpp src/strings/zstring.hpp src/strings/xstring.hpp +fgrep -q ../strings/ src/io/cxxstdio.hpp src/io/dir.hpp src/io/read.hpp src/io/tty.hpp src/io/write.hpp src/io/lock.hpp src/io/extract.hpp src/io/fd.hpp src/io/span.hpp src/io/line.hpp src/io/line.cpp src/io/extract_test.cpp src/io/dir.cpp src/io/read.cpp src/io/line_test.cpp src/io/write_test.cpp src/io/lock.cpp src/io/write.cpp src/io/extract.cpp src/io/read_test.cpp src/io/fd.cpp src/io/span.cpp +fgrep -q ../mmo/ src/char/char_lan_conf.hpp src/char/int_storage.hpp src/char/inter.hpp src/char/inter_conf.hpp src/char/globals.hpp src/char/char.hpp src/char/char_conf.hpp src/char/int_party.hpp src/char/consts.hpp src/char/char_conf.cpp src/char/int_party.cpp src/char/char_lan_conf.cpp src/char/int_storage.cpp src/char/inter.cpp src/char/inter_conf.cpp src/char/globals.cpp src/char/main.cpp src/char/char.cpp +grep -q NetPacket_Option src/proto2/net-Version.hpp src/proto2/net-SkillID.hpp src/proto2/net-Opt2.hpp src/proto2/net-LOOK.hpp src/proto2/net-CharKey.hpp src/proto2/net-PartyMember.hpp src/proto2/net-Storage.hpp src/proto2/net-Item.hpp src/proto2/login-char.hpp src/proto2/net-ClientVersion.hpp src/proto2/net-CharSelect.hpp src/proto2/net-PartyId.hpp src/proto2/char-user.hpp src/proto2/char-map.hpp src/proto2/net-SkillFlags.hpp src/proto2/net-DIR.hpp src/proto2/net-GlobalReg.hpp src/proto2/net-Opt3.hpp src/proto2/net-HumanTimeDiff.hpp src/proto2/net-SkillInfo.hpp src/proto2/map-user.hpp src/proto2/net-ItemNameId.hpp src/proto2/net-Stats6.hpp src/proto2/net-EPOS.hpp src/proto2/net-CharData.hpp src/proto2/net-DamageType.hpp src/proto2/login-admin.hpp src/proto2/net-ItemType.hpp src/proto2/net-BeingRemoveWhy.hpp src/proto2/net-CharId.hpp src/proto2/net-AccountId.hpp src/proto2/net-StatusChange.hpp src/proto2/net-SEX.hpp src/proto2/net-Opt0.hpp src/proto2/net-PartyMost.hpp src/proto2/net-Point.hpp src/proto2/net-PickupFail.hpp src/proto2/net-BlockId.hpp src/proto2/net-SP.hpp src/proto2/net-Opt1.hpp src/proto2/net-SkillValue.hpp src/proto2/login-user.hpp src/proto2/any-user.hpp src/proto2/net-Species.hpp src/proto2/net-ItemLook.hpp +g++-8 -std=c++0x -fuse-ld=gold obj/ast/npc_test.pdc.o obj/ast/npc.pdc.o obj/ast/script.pdc.o obj/generic/oops.pdc.o obj/io/dir.pdc.o obj/io/fd.pdc.o obj/io/line.pdc.o obj/io/read.pdc.o obj/io/span.pdc.o obj/mmo/ids.pdc.o obj/mmo/strs.pdc.o obj/strings/astring.pdc.o obj/strings/literal.pdc.o obj/strings/mstring.pdc.o obj/strings/rstring.pdc.o obj/strings/sstring.pdc.o obj/strings/tstring.pdc.o obj/strings/xstring.pdc.o obj/strings/zstring.pdc.o obj/high/extract_mmo.pdc.o obj/io/extract.pdc.o obj/mmo/extract_enums.pdc.o obj/net/ip.pdc.o obj/gtest_main.pdc.o obj/gtest-all.pdc.o -o bin/tests/gtest-ast--npc.elf +touch stamp/ast.fwdcheck +grep -q VarName src/mmo/config_parse.hpp src/mmo/ids.hpp src/mmo/enums.hpp src/mmo/clif.t.hpp src/mmo/human_time_diff.hpp src/mmo/strs.hpp src/mmo/extract_enums.hpp src/mmo/version.hpp src/mmo/skill.t.hpp src/mmo/consts.hpp src/mmo/cxxstdio_enums.hpp +touch stamp/net.fwdcheck +includes=$(grep -o '#include.*".*/fwd\.hpp"' src/proto2/fwd.hpp | sed 's:^[^"]*"::;s:/[^/]*"$:/:'); \ + for inc in $includes; do echo fgrep -q $inc src/proto2/net-Version.hpp src/proto2/net-SkillID.hpp src/proto2/net-Opt2.hpp src/proto2/net-LOOK.hpp src/proto2/net-CharKey.hpp src/proto2/net-PartyMember.hpp src/proto2/net-Storage.hpp src/proto2/net-Item.hpp src/proto2/login-char.hpp src/proto2/net-ClientVersion.hpp src/proto2/net-CharSelect.hpp src/proto2/net-PartyId.hpp src/proto2/char-user.hpp src/proto2/char-map.hpp src/proto2/net-SkillFlags.hpp src/proto2/net-DIR.hpp src/proto2/net-GlobalReg.hpp src/proto2/net-Opt3.hpp src/proto2/net-HumanTimeDiff.hpp src/proto2/net-SkillInfo.hpp src/proto2/map-user.hpp src/proto2/net-ItemNameId.hpp src/proto2/net-Stats6.hpp src/proto2/net-EPOS.hpp src/proto2/net-CharData.hpp src/proto2/net-DamageType.hpp src/proto2/login-admin.hpp src/proto2/net-ItemType.hpp src/proto2/net-BeingRemoveWhy.hpp src/proto2/net-CharId.hpp src/proto2/net-AccountId.hpp src/proto2/net-StatusChange.hpp src/proto2/net-SEX.hpp src/proto2/net-Opt0.hpp src/proto2/net-PartyMost.hpp src/proto2/net-Point.hpp src/proto2/net-PickupFail.hpp src/proto2/net-BlockId.hpp src/proto2/net-SP.hpp src/proto2/net-Opt1.hpp src/proto2/net-SkillValue.hpp src/proto2/login-user.hpp src/proto2/any-user.hpp src/proto2/net-Species.hpp src/proto2/net-ItemLook.hpp; fgrep -q $inc src/proto2/net-Version.hpp src/proto2/net-SkillID.hpp src/proto2/net-Opt2.hpp src/proto2/net-LOOK.hpp src/proto2/net-CharKey.hpp src/proto2/net-PartyMember.hpp src/proto2/net-Storage.hpp src/proto2/net-Item.hpp src/proto2/login-char.hpp src/proto2/net-ClientVersion.hpp src/proto2/net-CharSelect.hpp src/proto2/net-PartyId.hpp src/proto2/char-user.hpp src/proto2/char-map.hpp src/proto2/net-SkillFlags.hpp src/proto2/net-DIR.hpp src/proto2/net-GlobalReg.hpp src/proto2/net-Opt3.hpp src/proto2/net-HumanTimeDiff.hpp src/proto2/net-SkillInfo.hpp src/proto2/map-user.hpp src/proto2/net-ItemNameId.hpp src/proto2/net-Stats6.hpp src/proto2/net-EPOS.hpp src/proto2/net-CharData.hpp src/proto2/net-DamageType.hpp src/proto2/login-admin.hpp src/proto2/net-ItemType.hpp src/proto2/net-BeingRemoveWhy.hpp src/proto2/net-CharId.hpp src/proto2/net-AccountId.hpp src/proto2/net-StatusChange.hpp src/proto2/net-SEX.hpp src/proto2/net-Opt0.hpp src/proto2/net-PartyMost.hpp src/proto2/net-Point.hpp src/proto2/net-PickupFail.hpp src/proto2/net-BlockId.hpp src/proto2/net-SP.hpp src/proto2/net-Opt1.hpp src/proto2/net-SkillValue.hpp src/proto2/login-user.hpp src/proto2/any-user.hpp src/proto2/net-Species.hpp src/proto2/net-ItemLook.hpp || { grep -Hn $inc src/proto2/fwd.hpp; exit 1; }; done +grep -q FormatString src/strings/vstring.hpp src/strings/base.hpp src/strings/tstring.hpp src/strings/sstring.hpp src/strings/rstring.hpp src/strings/astring.hpp src/strings/pair.hpp src/strings/all.hpp src/strings/literal.hpp src/strings/mstring.hpp src/strings/zstring.hpp src/strings/xstring.hpp +fgrep -q ../proto2/ src/char/char_lan_conf.hpp src/char/int_storage.hpp src/char/inter.hpp src/char/inter_conf.hpp src/char/globals.hpp src/char/char.hpp src/char/char_conf.hpp src/char/int_party.hpp src/char/consts.hpp src/char/char_conf.cpp src/char/int_party.cpp src/char/char_lan_conf.cpp src/char/int_storage.cpp src/char/inter.cpp src/char/inter_conf.cpp src/char/globals.cpp src/char/main.cpp src/char/char.cpp +touch stamp/sexpr.fwdcheck +grep -q MapName src/mmo/config_parse.hpp src/mmo/ids.hpp src/mmo/enums.hpp src/mmo/clif.t.hpp src/mmo/human_time_diff.hpp src/mmo/strs.hpp src/mmo/extract_enums.hpp src/mmo/version.hpp src/mmo/skill.t.hpp src/mmo/consts.hpp src/mmo/cxxstdio_enums.hpp +g++-8 -std=c++0x -fuse-ld=gold obj/generic/intern-pool_test.pdc.o obj/strings/astring.pdc.o obj/strings/literal.pdc.o obj/strings/mstring.pdc.o obj/strings/rstring.pdc.o obj/strings/sstring.pdc.o obj/strings/tstring.pdc.o obj/strings/xstring.pdc.o obj/strings/zstring.pdc.o obj/gtest_main.pdc.o obj/gtest-all.pdc.o -o bin/tests/gtest-generic--intern-pool.elf +grep -q VString src/strings/vstring.hpp src/strings/base.hpp src/strings/tstring.hpp src/strings/sstring.hpp src/strings/rstring.hpp src/strings/astring.hpp src/strings/pair.hpp src/strings/all.hpp src/strings/literal.hpp src/strings/mstring.hpp src/strings/zstring.hpp src/strings/xstring.hpp +g++-8 -std=c++0x -fuse-ld=gold obj/generic/array_test.pdc.o obj/generic/oops.pdc.o obj/gtest_main.pdc.o obj/gtest-all.pdc.o -o bin/tests/gtest-generic--array.elf +grep -q CharName src/mmo/config_parse.hpp src/mmo/ids.hpp src/mmo/enums.hpp src/mmo/clif.t.hpp src/mmo/human_time_diff.hpp src/mmo/strs.hpp src/mmo/extract_enums.hpp src/mmo/version.hpp src/mmo/skill.t.hpp src/mmo/consts.hpp src/mmo/cxxstdio_enums.hpp +fgrep -q ../compat/ src/io/cxxstdio.hpp src/io/dir.hpp src/io/read.hpp src/io/tty.hpp src/io/write.hpp src/io/lock.hpp src/io/extract.hpp src/io/fd.hpp src/io/span.hpp src/io/line.hpp src/io/line.cpp src/io/extract_test.cpp src/io/dir.cpp src/io/read.cpp src/io/line_test.cpp src/io/write_test.cpp src/io/lock.cpp src/io/write.cpp src/io/extract.cpp src/io/read_test.cpp src/io/fd.cpp src/io/span.cpp +fgrep -q ../high/ src/char/char_lan_conf.hpp src/char/int_storage.hpp src/char/inter.hpp src/char/inter_conf.hpp src/char/globals.hpp src/char/char.hpp src/char/char_conf.hpp src/char/int_party.hpp src/char/consts.hpp src/char/char_conf.cpp src/char/int_party.cpp src/char/char_lan_conf.cpp src/char/int_storage.cpp src/char/inter.cpp src/char/inter_conf.cpp src/char/globals.cpp src/char/main.cpp src/char/char.cpp +fgrep -q ../io/ src/wire/packets.hpp src/wire/packets.cpp +includes=$(grep -o '#include.*".*/fwd\.hpp"' src/strings/fwd.hpp | sed 's:^[^"]*"::;s:/[^/]*"$:/:'); \ + for inc in $includes; do echo fgrep -q $inc src/strings/vstring.hpp src/strings/base.hpp src/strings/tstring.hpp src/strings/sstring.hpp src/strings/rstring.hpp src/strings/astring.hpp src/strings/pair.hpp src/strings/all.hpp src/strings/literal.hpp src/strings/mstring.hpp src/strings/zstring.hpp src/strings/xstring.hpp src/strings/zstring.tcc src/strings/xstring.tcc src/strings/vstring.tcc src/strings/base.tcc src/strings/tstring.tcc src/strings/sstring.tcc src/strings/rstring.tcc src/strings/astring.tcc src/strings/strings2_test.cpp src/strings/xstring.cpp src/strings/zstring.cpp src/strings/literal.cpp src/strings/tstring.cpp src/strings/base_test.cpp src/strings/sstring.cpp src/strings/rstring.cpp src/strings/astring.cpp src/strings/strings_test.cpp src/strings/mstring.cpp; fgrep -q $inc src/strings/vstring.hpp src/strings/base.hpp src/strings/tstring.hpp src/strings/sstring.hpp src/strings/rstring.hpp src/strings/astring.hpp src/strings/pair.hpp src/strings/all.hpp src/strings/literal.hpp src/strings/mstring.hpp src/strings/zstring.hpp src/strings/xstring.hpp src/strings/zstring.tcc src/strings/xstring.tcc src/strings/vstring.tcc src/strings/base.tcc src/strings/tstring.tcc src/strings/sstring.tcc src/strings/rstring.tcc src/strings/astring.tcc src/strings/strings2_test.cpp src/strings/xstring.cpp src/strings/zstring.cpp src/strings/literal.cpp src/strings/tstring.cpp src/strings/base_test.cpp src/strings/sstring.cpp src/strings/rstring.cpp src/strings/astring.cpp src/strings/strings_test.cpp src/strings/mstring.cpp || { grep -Hn $inc src/strings/fwd.hpp; exit 1; }; done +fgrep -q ../ints/ src/proto2/net-Version.hpp src/proto2/net-SkillID.hpp src/proto2/net-Opt2.hpp src/proto2/net-LOOK.hpp src/proto2/net-CharKey.hpp src/proto2/net-PartyMember.hpp src/proto2/net-Storage.hpp src/proto2/net-Item.hpp src/proto2/login-char.hpp src/proto2/net-ClientVersion.hpp src/proto2/net-CharSelect.hpp src/proto2/net-PartyId.hpp src/proto2/char-user.hpp src/proto2/char-map.hpp src/proto2/net-SkillFlags.hpp src/proto2/net-DIR.hpp src/proto2/net-GlobalReg.hpp src/proto2/net-Opt3.hpp src/proto2/net-HumanTimeDiff.hpp src/proto2/net-SkillInfo.hpp src/proto2/map-user.hpp src/proto2/net-ItemNameId.hpp src/proto2/net-Stats6.hpp src/proto2/net-EPOS.hpp src/proto2/net-CharData.hpp src/proto2/net-DamageType.hpp src/proto2/login-admin.hpp src/proto2/net-ItemType.hpp src/proto2/net-BeingRemoveWhy.hpp src/proto2/net-CharId.hpp src/proto2/net-AccountId.hpp src/proto2/net-StatusChange.hpp src/proto2/net-SEX.hpp src/proto2/net-Opt0.hpp src/proto2/net-PartyMost.hpp src/proto2/net-Point.hpp src/proto2/net-PickupFail.hpp src/proto2/net-BlockId.hpp src/proto2/net-SP.hpp src/proto2/net-Opt1.hpp src/proto2/net-SkillValue.hpp src/proto2/login-user.hpp src/proto2/any-user.hpp src/proto2/net-Species.hpp src/proto2/net-ItemLook.hpp +includes=$(grep -o '#include.*".*/fwd\.hpp"' src/mmo/fwd.hpp | sed 's:^[^"]*"::;s:/[^/]*"$:/:'); \ + for inc in $includes; do echo fgrep -q $inc src/mmo/config_parse.hpp src/mmo/ids.hpp src/mmo/enums.hpp src/mmo/clif.t.hpp src/mmo/human_time_diff.hpp src/mmo/strs.hpp src/mmo/extract_enums.hpp src/mmo/version.hpp src/mmo/skill.t.hpp src/mmo/consts.hpp src/mmo/cxxstdio_enums.hpp src/mmo/config_parse_test.cpp src/mmo/config_parse.cpp src/mmo/ids.cpp src/mmo/human_time_diff.cpp src/mmo/strs.cpp src/mmo/extract_enums.cpp src/mmo/version.cpp src/mmo/human_time_diff_test.cpp; fgrep -q $inc src/mmo/config_parse.hpp src/mmo/ids.hpp src/mmo/enums.hpp src/mmo/clif.t.hpp src/mmo/human_time_diff.hpp src/mmo/strs.hpp src/mmo/extract_enums.hpp src/mmo/version.hpp src/mmo/skill.t.hpp src/mmo/consts.hpp src/mmo/cxxstdio_enums.hpp src/mmo/config_parse_test.cpp src/mmo/config_parse.cpp src/mmo/ids.cpp src/mmo/human_time_diff.cpp src/mmo/strs.cpp src/mmo/extract_enums.cpp src/mmo/version.cpp src/mmo/human_time_diff_test.cpp || { grep -Hn $inc src/mmo/fwd.hpp; exit 1; }; done +fgrep -q ../io/ src/map/script-parse.hpp src/map/map_conf.hpp src/map/storage.hpp src/map/mob.t.hpp src/map/consts.hpp src/map/script-startup.hpp src/map/pc.t.hpp src/map/intif.hpp src/map/skill.hpp src/map/grfio.hpp src/map/map.t.hpp src/map/quest.hpp src/map/battle.hpp src/map/mapflag.hpp src/map/globals.hpp src/map/script-fun.hpp src/map/battle_conf.hpp src/map/script-call.hpp src/map/party.hpp src/map/path.hpp src/map/pc.hpp src/map/itemdb.hpp src/map/script-startup-internal.hpp src/map/battle.t.hpp src/map/script-buffer.hpp src/map/npc-parse.hpp src/map/npc.hpp src/map/atcommand.hpp src/map/chrif.hpp src/map/script-parse-internal.hpp src/map/script-persist.hpp src/map/skill-pools.hpp src/map/tmw.hpp src/map/script-call-internal.hpp src/map/clif.hpp src/map/trade.hpp src/map/npc-internal.hpp src/map/mob.hpp src/map/map.hpp src/map/script-call.t.hpp src/map/script-call-internal.tcc src/map/skill-pools.cpp src/map/clif.cpp src/map/mob.cpp src/map/map.cpp src/map/globals.cpp src/map/trade.cpp src/map/script-startup.cpp src/map/script-call.cpp src/map/intif.cpp src/map/path.cpp src/map/grfio.cpp src/map/quest.cpp src/map/battle.cpp src/map/script-parse.cpp src/map/script-fun.cpp src/map/battle_conf.cpp src/map/map_conf.cpp src/map/pc.cpp src/map/mapflag.cpp src/map/storage.cpp src/map/skill.cpp src/map/itemdb.cpp src/map/npc-parse.cpp src/map/npc.cpp src/map/atcommand.cpp src/map/party.cpp src/map/chrif.cpp src/map/main.cpp src/map/tmw.cpp +fgrep -q ../generic/ src/io/cxxstdio.hpp src/io/dir.hpp src/io/read.hpp src/io/tty.hpp src/io/write.hpp src/io/lock.hpp src/io/extract.hpp src/io/fd.hpp src/io/span.hpp src/io/line.hpp src/io/line.cpp src/io/extract_test.cpp src/io/dir.cpp src/io/read.cpp src/io/line_test.cpp src/io/write_test.cpp src/io/lock.cpp src/io/write.cpp src/io/extract.cpp src/io/read_test.cpp src/io/fd.cpp src/io/span.cpp +touch stamp/strings.fwdcheck +fgrep -q ../strings/ src/proto2/net-Version.hpp src/proto2/net-SkillID.hpp src/proto2/net-Opt2.hpp src/proto2/net-LOOK.hpp src/proto2/net-CharKey.hpp src/proto2/net-PartyMember.hpp src/proto2/net-Storage.hpp src/proto2/net-Item.hpp src/proto2/login-char.hpp src/proto2/net-ClientVersion.hpp src/proto2/net-CharSelect.hpp src/proto2/net-PartyId.hpp src/proto2/char-user.hpp src/proto2/char-map.hpp src/proto2/net-SkillFlags.hpp src/proto2/net-DIR.hpp src/proto2/net-GlobalReg.hpp src/proto2/net-Opt3.hpp src/proto2/net-HumanTimeDiff.hpp src/proto2/net-SkillInfo.hpp src/proto2/map-user.hpp src/proto2/net-ItemNameId.hpp src/proto2/net-Stats6.hpp src/proto2/net-EPOS.hpp src/proto2/net-CharData.hpp src/proto2/net-DamageType.hpp src/proto2/login-admin.hpp src/proto2/net-ItemType.hpp src/proto2/net-BeingRemoveWhy.hpp src/proto2/net-CharId.hpp src/proto2/net-AccountId.hpp src/proto2/net-StatusChange.hpp src/proto2/net-SEX.hpp src/proto2/net-Opt0.hpp src/proto2/net-PartyMost.hpp src/proto2/net-Point.hpp src/proto2/net-PickupFail.hpp src/proto2/net-BlockId.hpp src/proto2/net-SP.hpp src/proto2/net-Opt1.hpp src/proto2/net-SkillValue.hpp src/proto2/login-user.hpp src/proto2/any-user.hpp src/proto2/net-Species.hpp src/proto2/net-ItemLook.hpp +fgrep -q ../wire/ src/char/char_lan_conf.hpp src/char/int_storage.hpp src/char/inter.hpp src/char/inter_conf.hpp src/char/globals.hpp src/char/char.hpp src/char/char_conf.hpp src/char/int_party.hpp src/char/consts.hpp src/char/char_conf.cpp src/char/int_party.cpp src/char/char_lan_conf.cpp src/char/int_storage.cpp src/char/inter.cpp src/char/inter_conf.cpp src/char/globals.cpp src/char/main.cpp src/char/char.cpp +fgrep -q ../net/ src/map/script-parse.hpp src/map/map_conf.hpp src/map/storage.hpp src/map/mob.t.hpp src/map/consts.hpp src/map/script-startup.hpp src/map/pc.t.hpp src/map/intif.hpp src/map/skill.hpp src/map/grfio.hpp src/map/map.t.hpp src/map/quest.hpp src/map/battle.hpp src/map/mapflag.hpp src/map/globals.hpp src/map/script-fun.hpp src/map/battle_conf.hpp src/map/script-call.hpp src/map/party.hpp src/map/path.hpp src/map/pc.hpp src/map/itemdb.hpp src/map/script-startup-internal.hpp src/map/battle.t.hpp src/map/script-buffer.hpp src/map/npc-parse.hpp src/map/npc.hpp src/map/atcommand.hpp src/map/chrif.hpp src/map/script-parse-internal.hpp src/map/script-persist.hpp src/map/skill-pools.hpp src/map/tmw.hpp src/map/script-call-internal.hpp src/map/clif.hpp src/map/trade.hpp src/map/npc-internal.hpp src/map/mob.hpp src/map/map.hpp src/map/script-call.t.hpp src/map/script-call-internal.tcc src/map/skill-pools.cpp src/map/clif.cpp src/map/mob.cpp src/map/map.cpp src/map/globals.cpp src/map/trade.cpp src/map/script-startup.cpp src/map/script-call.cpp src/map/intif.cpp src/map/path.cpp src/map/grfio.cpp src/map/quest.cpp src/map/battle.cpp src/map/script-parse.cpp src/map/script-fun.cpp src/map/battle_conf.cpp src/map/map_conf.cpp src/map/pc.cpp src/map/mapflag.cpp src/map/storage.cpp src/map/skill.cpp src/map/itemdb.cpp src/map/npc-parse.cpp src/map/npc.cpp src/map/atcommand.cpp src/map/party.cpp src/map/chrif.cpp src/map/main.cpp src/map/tmw.cpp +fgrep -q ../ints/ src/mmo/config_parse.hpp src/mmo/ids.hpp src/mmo/enums.hpp src/mmo/clif.t.hpp src/mmo/human_time_diff.hpp src/mmo/strs.hpp src/mmo/extract_enums.hpp src/mmo/version.hpp src/mmo/skill.t.hpp src/mmo/consts.hpp src/mmo/cxxstdio_enums.hpp src/mmo/config_parse_test.cpp src/mmo/config_parse.cpp src/mmo/ids.cpp src/mmo/human_time_diff.cpp src/mmo/strs.cpp src/mmo/extract_enums.cpp src/mmo/version.cpp src/mmo/human_time_diff_test.cpp +fgrep -q ../compat/ src/proto2/net-Version.hpp src/proto2/net-SkillID.hpp src/proto2/net-Opt2.hpp src/proto2/net-LOOK.hpp src/proto2/net-CharKey.hpp src/proto2/net-PartyMember.hpp src/proto2/net-Storage.hpp src/proto2/net-Item.hpp src/proto2/login-char.hpp src/proto2/net-ClientVersion.hpp src/proto2/net-CharSelect.hpp src/proto2/net-PartyId.hpp src/proto2/char-user.hpp src/proto2/char-map.hpp src/proto2/net-SkillFlags.hpp src/proto2/net-DIR.hpp src/proto2/net-GlobalReg.hpp src/proto2/net-Opt3.hpp src/proto2/net-HumanTimeDiff.hpp src/proto2/net-SkillInfo.hpp src/proto2/map-user.hpp src/proto2/net-ItemNameId.hpp src/proto2/net-Stats6.hpp src/proto2/net-EPOS.hpp src/proto2/net-CharData.hpp src/proto2/net-DamageType.hpp src/proto2/login-admin.hpp src/proto2/net-ItemType.hpp src/proto2/net-BeingRemoveWhy.hpp src/proto2/net-CharId.hpp src/proto2/net-AccountId.hpp src/proto2/net-StatusChange.hpp src/proto2/net-SEX.hpp src/proto2/net-Opt0.hpp src/proto2/net-PartyMost.hpp src/proto2/net-Point.hpp src/proto2/net-PickupFail.hpp src/proto2/net-BlockId.hpp src/proto2/net-SP.hpp src/proto2/net-Opt1.hpp src/proto2/net-SkillValue.hpp src/proto2/login-user.hpp src/proto2/any-user.hpp src/proto2/net-Species.hpp src/proto2/net-ItemLook.hpp +fgrep -q ../net/ src/wire/packets.hpp src/wire/packets.cpp +touch stamp/io.fwdcheck +fgrep -q ../net/ src/proto2/net-Version.hpp src/proto2/net-SkillID.hpp src/proto2/net-Opt2.hpp src/proto2/net-LOOK.hpp src/proto2/net-CharKey.hpp src/proto2/net-PartyMember.hpp src/proto2/net-Storage.hpp src/proto2/net-Item.hpp src/proto2/login-char.hpp src/proto2/net-ClientVersion.hpp src/proto2/net-CharSelect.hpp src/proto2/net-PartyId.hpp src/proto2/char-user.hpp src/proto2/char-map.hpp src/proto2/net-SkillFlags.hpp src/proto2/net-DIR.hpp src/proto2/net-GlobalReg.hpp src/proto2/net-Opt3.hpp src/proto2/net-HumanTimeDiff.hpp src/proto2/net-SkillInfo.hpp src/proto2/map-user.hpp src/proto2/net-ItemNameId.hpp src/proto2/net-Stats6.hpp src/proto2/net-EPOS.hpp src/proto2/net-CharData.hpp src/proto2/net-DamageType.hpp src/proto2/login-admin.hpp src/proto2/net-ItemType.hpp src/proto2/net-BeingRemoveWhy.hpp src/proto2/net-CharId.hpp src/proto2/net-AccountId.hpp src/proto2/net-StatusChange.hpp src/proto2/net-SEX.hpp src/proto2/net-Opt0.hpp src/proto2/net-PartyMost.hpp src/proto2/net-Point.hpp src/proto2/net-PickupFail.hpp src/proto2/net-BlockId.hpp src/proto2/net-SP.hpp src/proto2/net-Opt1.hpp src/proto2/net-SkillValue.hpp src/proto2/login-user.hpp src/proto2/any-user.hpp src/proto2/net-Species.hpp src/proto2/net-ItemLook.hpp +fgrep -q ../sexpr/ src/map/script-parse.hpp src/map/map_conf.hpp src/map/storage.hpp src/map/mob.t.hpp src/map/consts.hpp src/map/script-startup.hpp src/map/pc.t.hpp src/map/intif.hpp src/map/skill.hpp src/map/grfio.hpp src/map/map.t.hpp src/map/quest.hpp src/map/battle.hpp src/map/mapflag.hpp src/map/globals.hpp src/map/script-fun.hpp src/map/battle_conf.hpp src/map/script-call.hpp src/map/party.hpp src/map/path.hpp src/map/pc.hpp src/map/itemdb.hpp src/map/script-startup-internal.hpp src/map/battle.t.hpp src/map/script-buffer.hpp src/map/npc-parse.hpp src/map/npc.hpp src/map/atcommand.hpp src/map/chrif.hpp src/map/script-parse-internal.hpp src/map/script-persist.hpp src/map/skill-pools.hpp src/map/tmw.hpp src/map/script-call-internal.hpp src/map/clif.hpp src/map/trade.hpp src/map/npc-internal.hpp src/map/mob.hpp src/map/map.hpp src/map/script-call.t.hpp src/map/script-call-internal.tcc src/map/skill-pools.cpp src/map/clif.cpp src/map/mob.cpp src/map/map.cpp src/map/globals.cpp src/map/trade.cpp src/map/script-startup.cpp src/map/script-call.cpp src/map/intif.cpp src/map/path.cpp src/map/grfio.cpp src/map/quest.cpp src/map/battle.cpp src/map/script-parse.cpp src/map/script-fun.cpp src/map/battle_conf.cpp src/map/map_conf.cpp src/map/pc.cpp src/map/mapflag.cpp src/map/storage.cpp src/map/skill.cpp src/map/itemdb.cpp src/map/npc-parse.cpp src/map/npc.cpp src/map/atcommand.cpp src/map/party.cpp src/map/chrif.cpp src/map/main.cpp src/map/tmw.cpp +fgrep -q ../strings/ src/mmo/config_parse.hpp src/mmo/ids.hpp src/mmo/enums.hpp src/mmo/clif.t.hpp src/mmo/human_time_diff.hpp src/mmo/strs.hpp src/mmo/extract_enums.hpp src/mmo/version.hpp src/mmo/skill.t.hpp src/mmo/consts.hpp src/mmo/cxxstdio_enums.hpp src/mmo/config_parse_test.cpp src/mmo/config_parse.cpp src/mmo/ids.cpp src/mmo/human_time_diff.cpp src/mmo/strs.cpp src/mmo/extract_enums.cpp src/mmo/version.cpp src/mmo/human_time_diff_test.cpp +g++-8 -std=c++0x -fuse-ld=gold obj/ints/cmp_test.pdc.o obj/gtest_main.pdc.o obj/gtest-all.pdc.o -o bin/tests/gtest-ints--cmp.elf +fgrep -q ../proto2/ src/login/login.hpp src/login/login_conf.hpp src/login/globals.hpp src/login/login_lan_conf.hpp src/login/login.t.hpp src/login/consts.hpp src/login/login.cpp src/login/login_conf.cpp src/login/main.cpp src/login/globals.cpp src/login/login_lan_conf.cpp +fgrep -q ../proto2/ src/wire/packets.hpp src/wire/packets.cpp +fgrep -q ../mmo/ src/proto2/net-Version.hpp src/proto2/net-SkillID.hpp src/proto2/net-Opt2.hpp src/proto2/net-LOOK.hpp src/proto2/net-CharKey.hpp src/proto2/net-PartyMember.hpp src/proto2/net-Storage.hpp src/proto2/net-Item.hpp src/proto2/login-char.hpp src/proto2/net-ClientVersion.hpp src/proto2/net-CharSelect.hpp src/proto2/net-PartyId.hpp src/proto2/char-user.hpp src/proto2/char-map.hpp src/proto2/net-SkillFlags.hpp src/proto2/net-DIR.hpp src/proto2/net-GlobalReg.hpp src/proto2/net-Opt3.hpp src/proto2/net-HumanTimeDiff.hpp src/proto2/net-SkillInfo.hpp src/proto2/map-user.hpp src/proto2/net-ItemNameId.hpp src/proto2/net-Stats6.hpp src/proto2/net-EPOS.hpp src/proto2/net-CharData.hpp src/proto2/net-DamageType.hpp src/proto2/login-admin.hpp src/proto2/net-ItemType.hpp src/proto2/net-BeingRemoveWhy.hpp src/proto2/net-CharId.hpp src/proto2/net-AccountId.hpp src/proto2/net-StatusChange.hpp src/proto2/net-SEX.hpp src/proto2/net-Opt0.hpp src/proto2/net-PartyMost.hpp src/proto2/net-Point.hpp src/proto2/net-PickupFail.hpp src/proto2/net-BlockId.hpp src/proto2/net-SP.hpp src/proto2/net-Opt1.hpp src/proto2/net-SkillValue.hpp src/proto2/login-user.hpp src/proto2/any-user.hpp src/proto2/net-Species.hpp src/proto2/net-ItemLook.hpp +fgrep -q ../compat/ src/mmo/config_parse.hpp src/mmo/ids.hpp src/mmo/enums.hpp src/mmo/clif.t.hpp src/mmo/human_time_diff.hpp src/mmo/strs.hpp src/mmo/extract_enums.hpp src/mmo/version.hpp src/mmo/skill.t.hpp src/mmo/consts.hpp src/mmo/cxxstdio_enums.hpp src/mmo/config_parse_test.cpp src/mmo/config_parse.cpp src/mmo/ids.cpp src/mmo/human_time_diff.cpp src/mmo/strs.cpp src/mmo/extract_enums.cpp src/mmo/version.cpp src/mmo/human_time_diff_test.cpp +touch stamp/char.fwdcheck +touch stamp/wire.fwdcheck +g++-8 -std=c++0x -fuse-ld=gold obj/generic/oops_test.pdc.o obj/generic/oops.pdc.o obj/gtest_main.pdc.o obj/gtest-all.pdc.o -o bin/tests/gtest-generic--oops.elf +fgrep -q ../high/ src/login/login.hpp src/login/login_conf.hpp src/login/globals.hpp src/login/login_lan_conf.hpp src/login/login.t.hpp src/login/consts.hpp src/login/login.cpp src/login/login_conf.cpp src/login/main.cpp src/login/globals.cpp src/login/login_lan_conf.cpp +fgrep -q ../proto-base/ src/proto2/net-Version.hpp src/proto2/net-SkillID.hpp src/proto2/net-Opt2.hpp src/proto2/net-LOOK.hpp src/proto2/net-CharKey.hpp src/proto2/net-PartyMember.hpp src/proto2/net-Storage.hpp src/proto2/net-Item.hpp src/proto2/login-char.hpp src/proto2/net-ClientVersion.hpp src/proto2/net-CharSelect.hpp src/proto2/net-PartyId.hpp src/proto2/char-user.hpp src/proto2/char-map.hpp src/proto2/net-SkillFlags.hpp src/proto2/net-DIR.hpp src/proto2/net-GlobalReg.hpp src/proto2/net-Opt3.hpp src/proto2/net-HumanTimeDiff.hpp src/proto2/net-SkillInfo.hpp src/proto2/map-user.hpp src/proto2/net-ItemNameId.hpp src/proto2/net-Stats6.hpp src/proto2/net-EPOS.hpp src/proto2/net-CharData.hpp src/proto2/net-DamageType.hpp src/proto2/login-admin.hpp src/proto2/net-ItemType.hpp src/proto2/net-BeingRemoveWhy.hpp src/proto2/net-CharId.hpp src/proto2/net-AccountId.hpp src/proto2/net-StatusChange.hpp src/proto2/net-SEX.hpp src/proto2/net-Opt0.hpp src/proto2/net-PartyMost.hpp src/proto2/net-Point.hpp src/proto2/net-PickupFail.hpp src/proto2/net-BlockId.hpp src/proto2/net-SP.hpp src/proto2/net-Opt1.hpp src/proto2/net-SkillValue.hpp src/proto2/login-user.hpp src/proto2/any-user.hpp src/proto2/net-Species.hpp src/proto2/net-ItemLook.hpp +fgrep -q ../mmo/ src/map/script-parse.hpp src/map/map_conf.hpp src/map/storage.hpp src/map/mob.t.hpp src/map/consts.hpp src/map/script-startup.hpp src/map/pc.t.hpp src/map/intif.hpp src/map/skill.hpp src/map/grfio.hpp src/map/map.t.hpp src/map/quest.hpp src/map/battle.hpp src/map/mapflag.hpp src/map/globals.hpp src/map/script-fun.hpp src/map/battle_conf.hpp src/map/script-call.hpp src/map/party.hpp src/map/path.hpp src/map/pc.hpp src/map/itemdb.hpp src/map/script-startup-internal.hpp src/map/battle.t.hpp src/map/script-buffer.hpp src/map/npc-parse.hpp src/map/npc.hpp src/map/atcommand.hpp src/map/chrif.hpp src/map/script-parse-internal.hpp src/map/script-persist.hpp src/map/skill-pools.hpp src/map/tmw.hpp src/map/script-call-internal.hpp src/map/clif.hpp src/map/trade.hpp src/map/npc-internal.hpp src/map/mob.hpp src/map/map.hpp src/map/script-call.t.hpp src/map/script-call-internal.tcc src/map/skill-pools.cpp src/map/clif.cpp src/map/mob.cpp src/map/map.cpp src/map/globals.cpp src/map/trade.cpp src/map/script-startup.cpp src/map/script-call.cpp src/map/intif.cpp src/map/path.cpp src/map/grfio.cpp src/map/quest.cpp src/map/battle.cpp src/map/script-parse.cpp src/map/script-fun.cpp src/map/battle_conf.cpp src/map/map_conf.cpp src/map/pc.cpp src/map/mapflag.cpp src/map/storage.cpp src/map/skill.cpp src/map/itemdb.cpp src/map/npc-parse.cpp src/map/npc.cpp src/map/atcommand.cpp src/map/party.cpp src/map/chrif.cpp src/map/main.cpp src/map/tmw.cpp +fgrep -q ../generic/ src/mmo/config_parse.hpp src/mmo/ids.hpp src/mmo/enums.hpp src/mmo/clif.t.hpp src/mmo/human_time_diff.hpp src/mmo/strs.hpp src/mmo/extract_enums.hpp src/mmo/version.hpp src/mmo/skill.t.hpp src/mmo/consts.hpp src/mmo/cxxstdio_enums.hpp src/mmo/config_parse_test.cpp src/mmo/config_parse.cpp src/mmo/ids.cpp src/mmo/human_time_diff.cpp src/mmo/strs.cpp src/mmo/extract_enums.cpp src/mmo/version.cpp src/mmo/human_time_diff_test.cpp +g++-8 -std=c++0x -fuse-ld=gold obj/ints/udl_test.pdc.o obj/gtest_main.pdc.o obj/gtest-all.pdc.o -o bin/tests/gtest-ints--udl.elf +fgrep -q ../wire/ src/login/login.hpp src/login/login_conf.hpp src/login/globals.hpp src/login/login_lan_conf.hpp src/login/login.t.hpp src/login/consts.hpp src/login/login.cpp src/login/login_conf.cpp src/login/main.cpp src/login/globals.cpp src/login/login_lan_conf.cpp +touch stamp/proto2.fwdcheck +fgrep -q ../io/ src/mmo/config_parse.hpp src/mmo/ids.hpp src/mmo/enums.hpp src/mmo/clif.t.hpp src/mmo/human_time_diff.hpp src/mmo/strs.hpp src/mmo/extract_enums.hpp src/mmo/version.hpp src/mmo/skill.t.hpp src/mmo/consts.hpp src/mmo/cxxstdio_enums.hpp src/mmo/config_parse_test.cpp src/mmo/config_parse.cpp src/mmo/ids.cpp src/mmo/human_time_diff.cpp src/mmo/strs.cpp src/mmo/extract_enums.cpp src/mmo/version.cpp src/mmo/human_time_diff_test.cpp +fgrep -q ../proto2/ src/map/script-parse.hpp src/map/map_conf.hpp src/map/storage.hpp src/map/mob.t.hpp src/map/consts.hpp src/map/script-startup.hpp src/map/pc.t.hpp src/map/intif.hpp src/map/skill.hpp src/map/grfio.hpp src/map/map.t.hpp src/map/quest.hpp src/map/battle.hpp src/map/mapflag.hpp src/map/globals.hpp src/map/script-fun.hpp src/map/battle_conf.hpp src/map/script-call.hpp src/map/party.hpp src/map/path.hpp src/map/pc.hpp src/map/itemdb.hpp src/map/script-startup-internal.hpp src/map/battle.t.hpp src/map/script-buffer.hpp src/map/npc-parse.hpp src/map/npc.hpp src/map/atcommand.hpp src/map/chrif.hpp src/map/script-parse-internal.hpp src/map/script-persist.hpp src/map/skill-pools.hpp src/map/tmw.hpp src/map/script-call-internal.hpp src/map/clif.hpp src/map/trade.hpp src/map/npc-internal.hpp src/map/mob.hpp src/map/map.hpp src/map/script-call.t.hpp src/map/script-call-internal.tcc src/map/skill-pools.cpp src/map/clif.cpp src/map/mob.cpp src/map/map.cpp src/map/globals.cpp src/map/trade.cpp src/map/script-startup.cpp src/map/script-call.cpp src/map/intif.cpp src/map/path.cpp src/map/grfio.cpp src/map/quest.cpp src/map/battle.cpp src/map/script-parse.cpp src/map/script-fun.cpp src/map/battle_conf.cpp src/map/map_conf.cpp src/map/pc.cpp src/map/mapflag.cpp src/map/storage.cpp src/map/skill.cpp src/map/itemdb.cpp src/map/npc-parse.cpp src/map/npc.cpp src/map/atcommand.cpp src/map/party.cpp src/map/chrif.cpp src/map/main.cpp src/map/tmw.cpp +fgrep -q ../net/ src/mmo/config_parse.hpp src/mmo/ids.hpp src/mmo/enums.hpp src/mmo/clif.t.hpp src/mmo/human_time_diff.hpp src/mmo/strs.hpp src/mmo/extract_enums.hpp src/mmo/version.hpp src/mmo/skill.t.hpp src/mmo/consts.hpp src/mmo/cxxstdio_enums.hpp src/mmo/config_parse_test.cpp src/mmo/config_parse.cpp src/mmo/ids.cpp src/mmo/human_time_diff.cpp src/mmo/strs.cpp src/mmo/extract_enums.cpp src/mmo/version.cpp src/mmo/human_time_diff_test.cpp +g++-8 -std=c++0x -fuse-ld=gold obj/mmo/config_parse_test.pdc.o obj/io/span.pdc.o obj/mmo/config_parse.pdc.o obj/strings/astring.pdc.o obj/strings/literal.pdc.o obj/strings/mstring.pdc.o obj/strings/rstring.pdc.o obj/strings/sstring.pdc.o obj/strings/tstring.pdc.o obj/strings/xstring.pdc.o obj/strings/zstring.pdc.o obj/generic/oops.pdc.o obj/io/dir.pdc.o obj/io/extract.pdc.o obj/io/fd.pdc.o obj/io/line.pdc.o obj/io/read.pdc.o obj/mmo/version.pdc.o obj/gtest_main.pdc.o obj/gtest-all.pdc.o -o bin/tests/gtest-mmo--config_parse.elf +g++-8 -std=c++0x -fuse-ld=gold obj/io/line_test.pdc.o obj/io/dir.pdc.o obj/io/fd.pdc.o obj/io/line.pdc.o obj/io/read.pdc.o obj/io/span.pdc.o obj/strings/astring.pdc.o obj/strings/literal.pdc.o obj/strings/mstring.pdc.o obj/strings/rstring.pdc.o obj/strings/sstring.pdc.o obj/strings/tstring.pdc.o obj/strings/xstring.pdc.o obj/strings/zstring.pdc.o obj/gtest_main.pdc.o obj/gtest-all.pdc.o -o bin/tests/gtest-io--line.elf +g++-8 -std=c++0x -fuse-ld=gold obj/io/extract_test.pdc.o obj/generic/oops.pdc.o obj/high/extract_mmo.pdc.o obj/io/extract.pdc.o obj/mmo/strs.pdc.o obj/strings/astring.pdc.o obj/strings/literal.pdc.o obj/strings/mstring.pdc.o obj/strings/rstring.pdc.o obj/strings/sstring.pdc.o obj/strings/tstring.pdc.o obj/strings/xstring.pdc.o obj/strings/zstring.pdc.o obj/mmo/extract_enums.pdc.o obj/mmo/ids.pdc.o obj/net/ip.pdc.o obj/gtest_main.pdc.o obj/gtest-all.pdc.o -o bin/tests/gtest-io--extract.elf +fgrep -q ../high/ src/map/script-parse.hpp src/map/map_conf.hpp src/map/storage.hpp src/map/mob.t.hpp src/map/consts.hpp src/map/script-startup.hpp src/map/pc.t.hpp src/map/intif.hpp src/map/skill.hpp src/map/grfio.hpp src/map/map.t.hpp src/map/quest.hpp src/map/battle.hpp src/map/mapflag.hpp src/map/globals.hpp src/map/script-fun.hpp src/map/battle_conf.hpp src/map/script-call.hpp src/map/party.hpp src/map/path.hpp src/map/pc.hpp src/map/itemdb.hpp src/map/script-startup-internal.hpp src/map/battle.t.hpp src/map/script-buffer.hpp src/map/npc-parse.hpp src/map/npc.hpp src/map/atcommand.hpp src/map/chrif.hpp src/map/script-parse-internal.hpp src/map/script-persist.hpp src/map/skill-pools.hpp src/map/tmw.hpp src/map/script-call-internal.hpp src/map/clif.hpp src/map/trade.hpp src/map/npc-internal.hpp src/map/mob.hpp src/map/map.hpp src/map/script-call.t.hpp src/map/script-call-internal.tcc src/map/skill-pools.cpp src/map/clif.cpp src/map/mob.cpp src/map/map.cpp src/map/globals.cpp src/map/trade.cpp src/map/script-startup.cpp src/map/script-call.cpp src/map/intif.cpp src/map/path.cpp src/map/grfio.cpp src/map/quest.cpp src/map/battle.cpp src/map/script-parse.cpp src/map/script-fun.cpp src/map/battle_conf.cpp src/map/map_conf.cpp src/map/pc.cpp src/map/mapflag.cpp src/map/storage.cpp src/map/skill.cpp src/map/itemdb.cpp src/map/npc-parse.cpp src/map/npc.cpp src/map/atcommand.cpp src/map/party.cpp src/map/chrif.cpp src/map/main.cpp src/map/tmw.cpp +touch stamp/login.fwdcheck +g++-8 -std=c++0x -fuse-ld=gold obj/io/read_test.pdc.o obj/io/dir.pdc.o obj/io/fd.pdc.o obj/io/read.pdc.o obj/strings/astring.pdc.o obj/strings/literal.pdc.o obj/strings/mstring.pdc.o obj/strings/rstring.pdc.o obj/strings/sstring.pdc.o obj/strings/tstring.pdc.o obj/strings/xstring.pdc.o obj/strings/zstring.pdc.o obj/gtest_main.pdc.o obj/gtest-all.pdc.o -o bin/tests/gtest-io--read.elf +g++-8 -std=c++0x -fuse-ld=gold obj/net/ip_test.pdc.o obj/generic/oops.pdc.o obj/io/extract.pdc.o obj/net/ip.pdc.o obj/strings/astring.pdc.o obj/strings/literal.pdc.o obj/strings/mstring.pdc.o obj/strings/rstring.pdc.o obj/strings/sstring.pdc.o obj/strings/tstring.pdc.o obj/strings/xstring.pdc.o obj/strings/zstring.pdc.o obj/gtest_main.pdc.o obj/gtest-all.pdc.o -o bin/tests/gtest-net--ip.elf +fgrep -q ../wire/ src/map/script-parse.hpp src/map/map_conf.hpp src/map/storage.hpp src/map/mob.t.hpp src/map/consts.hpp src/map/script-startup.hpp src/map/pc.t.hpp src/map/intif.hpp src/map/skill.hpp src/map/grfio.hpp src/map/map.t.hpp src/map/quest.hpp src/map/battle.hpp src/map/mapflag.hpp src/map/globals.hpp src/map/script-fun.hpp src/map/battle_conf.hpp src/map/script-call.hpp src/map/party.hpp src/map/path.hpp src/map/pc.hpp src/map/itemdb.hpp src/map/script-startup-internal.hpp src/map/battle.t.hpp src/map/script-buffer.hpp src/map/npc-parse.hpp src/map/npc.hpp src/map/atcommand.hpp src/map/chrif.hpp src/map/script-parse-internal.hpp src/map/script-persist.hpp src/map/skill-pools.hpp src/map/tmw.hpp src/map/script-call-internal.hpp src/map/clif.hpp src/map/trade.hpp src/map/npc-internal.hpp src/map/mob.hpp src/map/map.hpp src/map/script-call.t.hpp src/map/script-call-internal.tcc src/map/skill-pools.cpp src/map/clif.cpp src/map/mob.cpp src/map/map.cpp src/map/globals.cpp src/map/trade.cpp src/map/script-startup.cpp src/map/script-call.cpp src/map/intif.cpp src/map/path.cpp src/map/grfio.cpp src/map/quest.cpp src/map/battle.cpp src/map/script-parse.cpp src/map/script-fun.cpp src/map/battle_conf.cpp src/map/map_conf.cpp src/map/pc.cpp src/map/mapflag.cpp src/map/storage.cpp src/map/skill.cpp src/map/itemdb.cpp src/map/npc-parse.cpp src/map/npc.cpp src/map/atcommand.cpp src/map/party.cpp src/map/chrif.cpp src/map/main.cpp src/map/tmw.cpp +g++-8 -std=c++0x -fuse-ld=gold obj/generic/md5_test.pdc.o obj/generic/md5.pdc.o obj/strings/astring.pdc.o obj/strings/literal.pdc.o obj/strings/mstring.pdc.o obj/strings/rstring.pdc.o obj/strings/sstring.pdc.o obj/strings/tstring.pdc.o obj/strings/xstring.pdc.o obj/strings/zstring.pdc.o obj/gtest_main.pdc.o obj/gtest-all.pdc.o -o bin/tests/gtest-generic--md5.elf +fgrep -q ../ast/ src/map/script-parse.hpp src/map/map_conf.hpp src/map/storage.hpp src/map/mob.t.hpp src/map/consts.hpp src/map/script-startup.hpp src/map/pc.t.hpp src/map/intif.hpp src/map/skill.hpp src/map/grfio.hpp src/map/map.t.hpp src/map/quest.hpp src/map/battle.hpp src/map/mapflag.hpp src/map/globals.hpp src/map/script-fun.hpp src/map/battle_conf.hpp src/map/script-call.hpp src/map/party.hpp src/map/path.hpp src/map/pc.hpp src/map/itemdb.hpp src/map/script-startup-internal.hpp src/map/battle.t.hpp src/map/script-buffer.hpp src/map/npc-parse.hpp src/map/npc.hpp src/map/atcommand.hpp src/map/chrif.hpp src/map/script-parse-internal.hpp src/map/script-persist.hpp src/map/skill-pools.hpp src/map/tmw.hpp src/map/script-call-internal.hpp src/map/clif.hpp src/map/trade.hpp src/map/npc-internal.hpp src/map/mob.hpp src/map/map.hpp src/map/script-call.t.hpp src/map/script-call-internal.tcc src/map/skill-pools.cpp src/map/clif.cpp src/map/mob.cpp src/map/map.cpp src/map/globals.cpp src/map/trade.cpp src/map/script-startup.cpp src/map/script-call.cpp src/map/intif.cpp src/map/path.cpp src/map/grfio.cpp src/map/quest.cpp src/map/battle.cpp src/map/script-parse.cpp src/map/script-fun.cpp src/map/battle_conf.cpp src/map/map_conf.cpp src/map/pc.cpp src/map/mapflag.cpp src/map/storage.cpp src/map/skill.cpp src/map/itemdb.cpp src/map/npc-parse.cpp src/map/npc.cpp src/map/atcommand.cpp src/map/party.cpp src/map/chrif.cpp src/map/main.cpp src/map/tmw.cpp +g++-8 -std=c++0x -fuse-ld=gold obj/mmo/human_time_diff_test.pdc.o obj/generic/oops.pdc.o obj/io/extract.pdc.o obj/mmo/human_time_diff.pdc.o obj/strings/astring.pdc.o obj/strings/literal.pdc.o obj/strings/mstring.pdc.o obj/strings/rstring.pdc.o obj/strings/sstring.pdc.o obj/strings/tstring.pdc.o obj/strings/xstring.pdc.o obj/strings/zstring.pdc.o obj/gtest_main.pdc.o obj/gtest-all.pdc.o -o bin/tests/gtest-mmo--human_time_diff.elf +touch stamp/mmo.fwdcheck +g++-8 -std=c++0x -fuse-ld=gold obj/io/write_test.pdc.o obj/io/dir.pdc.o obj/io/fd.pdc.o obj/io/write.pdc.o obj/strings/astring.pdc.o obj/strings/literal.pdc.o obj/strings/mstring.pdc.o obj/strings/rstring.pdc.o obj/strings/sstring.pdc.o obj/strings/tstring.pdc.o obj/strings/xstring.pdc.o obj/strings/zstring.pdc.o obj/gtest_main.pdc.o obj/gtest-all.pdc.o -o bin/tests/gtest-io--write.elf +touch stamp/map.fwdcheck +g++-8 -std=c++0x -fuse-ld=gold obj/sexpr/parser_test.pdc.o obj/io/dir.pdc.o obj/io/fd.pdc.o obj/io/line.pdc.o obj/io/read.pdc.o obj/io/span.pdc.o obj/sexpr/lexer.pdc.o obj/sexpr/parser.pdc.o obj/strings/astring.pdc.o obj/strings/literal.pdc.o obj/strings/mstring.pdc.o obj/strings/rstring.pdc.o obj/strings/sstring.pdc.o obj/strings/tstring.pdc.o obj/strings/xstring.pdc.o obj/strings/zstring.pdc.o obj/gtest_main.pdc.o obj/gtest-all.pdc.o -o bin/tests/gtest-sexpr--parser.elf +g++-8 -std=c++0x -fuse-ld=gold obj/range/slice_test.pdc.o obj/gtest_main.pdc.o obj/gtest-all.pdc.o -o bin/tests/gtest-range--slice.elf +g++-8 -std=c++0x -fuse-ld=gold obj/sexpr/lexer_test.pdc.o obj/io/dir.pdc.o obj/io/fd.pdc.o obj/io/line.pdc.o obj/io/read.pdc.o obj/io/span.pdc.o obj/sexpr/lexer.pdc.o obj/strings/astring.pdc.o obj/strings/literal.pdc.o obj/strings/mstring.pdc.o obj/strings/rstring.pdc.o obj/strings/sstring.pdc.o obj/strings/tstring.pdc.o obj/strings/xstring.pdc.o obj/strings/zstring.pdc.o obj/gtest_main.pdc.o obj/gtest-all.pdc.o -o bin/tests/gtest-sexpr--lexer.elf +g++-8 -std=c++0x -fuse-ld=gold obj/sexpr/union_test.pdc.o obj/gtest_main.pdc.o obj/gtest-all.pdc.o -o bin/tests/gtest-sexpr--union.elf +g++-8 -std=c++0x -fuse-ld=gold obj/strings/base_test.pdc.o obj/strings/astring.pdc.o obj/strings/literal.pdc.o obj/strings/mstring.pdc.o obj/strings/rstring.pdc.o obj/strings/sstring.pdc.o obj/strings/tstring.pdc.o obj/strings/xstring.pdc.o obj/strings/zstring.pdc.o obj/gtest_main.pdc.o obj/gtest-all.pdc.o -o bin/tests/gtest-strings--base.elf +g++-8 -std=c++0x -fuse-ld=gold obj/strings/strings2_test.pdc.o obj/strings/astring.pdc.o obj/strings/literal.pdc.o obj/strings/mstring.pdc.o obj/strings/rstring.pdc.o obj/strings/sstring.pdc.o obj/strings/tstring.pdc.o obj/strings/xstring.pdc.o obj/strings/zstring.pdc.o obj/gtest_main.pdc.o obj/gtest-all.pdc.o -o bin/tests/gtest-strings--strings2.elf +g++-8 -std=c++0x -fuse-ld=gold obj/sexpr/variant_test.pdc.o obj/strings/astring.pdc.o obj/strings/literal.pdc.o obj/strings/mstring.pdc.o obj/strings/rstring.pdc.o obj/strings/sstring.pdc.o obj/strings/tstring.pdc.o obj/strings/xstring.pdc.o obj/strings/zstring.pdc.o obj/gtest_main.pdc.o obj/gtest-all.pdc.o -o bin/tests/gtest-sexpr--variant.elf +g++-8 -std=c++0x -fuse-ld=gold obj/strings/strings_test.pdc.o obj/strings/astring.pdc.o obj/strings/literal.pdc.o obj/strings/mstring.pdc.o obj/strings/rstring.pdc.o obj/strings/sstring.pdc.o obj/strings/tstring.pdc.o obj/strings/xstring.pdc.o obj/strings/zstring.pdc.o obj/gtest_main.pdc.o obj/gtest-all.pdc.o -o bin/tests/gtest-strings--strings.elf +g++-8 -std=c++0x -fuse-ld=gold obj/debug-debug/ints-wrap.pdc.o -o bin/tests/dtest-ints-wrap.elf +g++-8 -std=c++0x -fuse-ld=gold obj/debug-debug/map-mapflag.pdc.o obj/map/mapflag.pdc.o obj/strings/astring.pdc.o obj/strings/literal.pdc.o obj/strings/mstring.pdc.o obj/strings/rstring.pdc.o obj/strings/sstring.pdc.o obj/strings/tstring.pdc.o obj/strings/xstring.pdc.o obj/strings/zstring.pdc.o -o bin/tests/dtest-map-mapflag.elf +g++-8 -std=c++0x -fuse-ld=gold obj/debug-debug/map-script-parse.pdc.o obj/ast/script.pdc.o obj/generic/oops.pdc.o obj/io/dir.pdc.o obj/io/fd.pdc.o obj/io/line.pdc.o obj/io/read.pdc.o obj/io/span.pdc.o obj/map/script-parse.pdc.o obj/mmo/ids.pdc.o obj/mmo/strs.pdc.o obj/strings/astring.pdc.o obj/strings/literal.pdc.o obj/strings/mstring.pdc.o obj/strings/rstring.pdc.o obj/strings/sstring.pdc.o obj/strings/tstring.pdc.o obj/strings/xstring.pdc.o obj/strings/zstring.pdc.o obj/map/globals.pdc.o obj/map/script-call.pdc.o obj/map/script-fun.pdc.o obj/net/ip.pdc.o obj/io/write.pdc.o obj/map/battle_conf.pdc.o obj/map/itemdb.pdc.o obj/map/map.pdc.o obj/map/map_conf.pdc.o obj/map/mapflag.pdc.o obj/map/mob.pdc.o obj/map/npc.pdc.o obj/map/quest.pdc.o obj/map/skill-pools.pdc.o obj/map/skill.pdc.o obj/net/socket.pdc.o obj/high/extract_mmo.pdc.o obj/io/extract.pdc.o obj/mmo/extract_enums.pdc.o obj/ast/item.pdc.o obj/mmo/config_parse.pdc.o obj/mmo/version.pdc.o obj/compat/nullpo.pdc.o obj/generic/random.pdc.o obj/high/core.pdc.o obj/map/atcommand.pdc.o obj/map/battle.pdc.o obj/map/chrif.pdc.o obj/map/clif.pdc.o obj/map/grfio.pdc.o obj/map/npc-parse.pdc.o obj/map/party.pdc.o obj/map/pc.pdc.o obj/map/script-startup.pdc.o obj/map/storage.pdc.o obj/map/trade.pdc.o obj/net/timer.pdc.o obj/net/timestamp-utils.pdc.o obj/ast/npc.pdc.o obj/high/utils.pdc.o obj/map/intif.pdc.o obj/map/tmw.pdc.o obj/mmo/human_time_diff.pdc.o obj/wire/packets.pdc.o obj/map/path.pdc.o obj/generic/md5.pdc.o obj/high/md5more.pdc.o obj/io/lock.pdc.o obj/ast/quest.pdc.o lib/libtmwa-shared.so.0.18.12.30.6.0 -o bin/tests/dtest-map-script-parse.elf +g++-8 -std=c++0x -fuse-ld=gold obj/debug-debug/mmo-strs.pdc.o obj/mmo/strs.pdc.o obj/strings/astring.pdc.o obj/strings/literal.pdc.o obj/strings/mstring.pdc.o obj/strings/rstring.pdc.o obj/strings/sstring.pdc.o obj/strings/tstring.pdc.o obj/strings/xstring.pdc.o obj/strings/zstring.pdc.o -o bin/tests/dtest-mmo-strs.elf +valgrind --error-exitcode=1 --track-fds=yes bin/tests/gtest-ast--item.elf +g++-8 -std=c++0x -fuse-ld=gold obj/debug-debug/compat-option.pdc.o -o bin/tests/dtest-compat-option.elf +g++-8 -std=c++0x -fuse-ld=gold obj/debug-debug/generic-dumb_ptr.pdc.o -o bin/tests/dtest-generic-dumb_ptr.elf +g++-8 -std=c++0x -fuse-ld=gold obj/debug-debug/sexpr-parser.pdc.o obj/io/dir.pdc.o obj/io/fd.pdc.o obj/io/line.pdc.o obj/io/read.pdc.o obj/io/span.pdc.o obj/sexpr/lexer.pdc.o obj/sexpr/parser.pdc.o obj/strings/astring.pdc.o obj/strings/literal.pdc.o obj/strings/mstring.pdc.o obj/strings/rstring.pdc.o obj/strings/sstring.pdc.o obj/strings/tstring.pdc.o obj/strings/xstring.pdc.o obj/strings/zstring.pdc.o -o bin/tests/dtest-sexpr-parser.elf +valgrind --error-exitcode=1 --track-fds=yes bin/tests/gtest-ast--npc.elf +g++-8 -std=c++0x -fuse-ld=gold obj/debug-debug/strings-literal.pdc.o obj/strings/literal.pdc.o -o bin/tests/dtest-strings-literal.elf +g++-8 -std=c++0x -fuse-ld=gold obj/debug-debug/mmo-ids.pdc.o obj/mmo/ids.pdc.o obj/generic/oops.pdc.o obj/io/extract.pdc.o obj/strings/astring.pdc.o obj/strings/literal.pdc.o obj/strings/mstring.pdc.o obj/strings/rstring.pdc.o obj/strings/sstring.pdc.o obj/strings/tstring.pdc.o obj/strings/xstring.pdc.o obj/strings/zstring.pdc.o -o bin/tests/dtest-mmo-ids.elf +g++-8 -std=c++0x -fuse-ld=gold obj/debug-debug/compat-borrow.pdc.o -o bin/tests/dtest-compat-borrow.elf +g++-8 -std=c++0x -fuse-ld=gold obj/debug-debug/strings-xstring.pdc.o obj/strings/astring.pdc.o obj/strings/literal.pdc.o obj/strings/mstring.pdc.o obj/strings/rstring.pdc.o obj/strings/sstring.pdc.o obj/strings/tstring.pdc.o obj/strings/xstring.pdc.o obj/strings/zstring.pdc.o -o bin/tests/dtest-strings-xstring.elf +g++-8 -std=c++0x -fuse-ld=gold obj/debug-debug/map-map.pdc.o obj/generic/oops.pdc.o obj/io/fd.pdc.o obj/map/map.pdc.o obj/map/mapflag.pdc.o obj/mmo/ids.pdc.o obj/mmo/strs.pdc.o obj/net/ip.pdc.o obj/net/socket.pdc.o obj/strings/astring.pdc.o obj/strings/literal.pdc.o obj/strings/mstring.pdc.o obj/strings/rstring.pdc.o obj/strings/sstring.pdc.o obj/strings/tstring.pdc.o obj/strings/xstring.pdc.o obj/strings/zstring.pdc.o obj/compat/nullpo.pdc.o obj/generic/random.pdc.o obj/high/core.pdc.o obj/io/dir.pdc.o obj/io/extract.pdc.o obj/io/read.pdc.o obj/io/span.pdc.o obj/io/write.pdc.o obj/map/atcommand.pdc.o obj/map/battle.pdc.o obj/map/battle_conf.pdc.o obj/map/chrif.pdc.o obj/map/clif.pdc.o obj/map/globals.pdc.o obj/map/grfio.pdc.o obj/map/itemdb.pdc.o obj/map/map_conf.pdc.o obj/map/mob.pdc.o obj/map/npc-parse.pdc.o obj/map/npc.pdc.o obj/map/party.pdc.o obj/map/pc.pdc.o obj/map/quest.pdc.o obj/map/script-startup.pdc.o obj/map/skill-pools.pdc.o obj/map/skill.pdc.o obj/map/storage.pdc.o obj/map/trade.pdc.o obj/mmo/config_parse.pdc.o obj/mmo/version.pdc.o obj/net/timer.pdc.o obj/net/timestamp-utils.pdc.o obj/ast/npc.pdc.o obj/ast/script.pdc.o obj/high/extract_mmo.pdc.o obj/high/utils.pdc.o obj/map/intif.pdc.o obj/map/script-call.pdc.o obj/map/tmw.pdc.o obj/mmo/extract_enums.pdc.o obj/mmo/human_time_diff.pdc.o obj/io/line.pdc.o obj/wire/packets.pdc.o obj/map/script-fun.pdc.o obj/map/script-parse.pdc.o obj/map/path.pdc.o obj/generic/md5.pdc.o obj/high/md5more.pdc.o obj/ast/item.pdc.o obj/ast/quest.pdc.o obj/io/lock.pdc.o lib/libtmwa-shared.so.0.18.12.30.6.0 -o bin/tests/dtest-map-map.elf +g++-8 -std=c++0x -fuse-ld=gold obj/debug-debug/strings-vstring.pdc.o obj/strings/astring.pdc.o obj/strings/literal.pdc.o obj/strings/mstring.pdc.o obj/strings/rstring.pdc.o obj/strings/sstring.pdc.o obj/strings/tstring.pdc.o obj/strings/xstring.pdc.o obj/strings/zstring.pdc.o -o bin/tests/dtest-strings-vstring.elf +==15831== Memcheck, a memory error detector +==15831== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al. +==15831== Using Valgrind-3.13.0 and LibVEX; rerun with -h for copyright info +==15831== Command: bin/tests/gtest-ast--item.elf +==15831== +g++-8 -std=c++0x -fuse-ld=gold obj/debug-debug/strings-astring.pdc.o obj/strings/astring.pdc.o obj/strings/literal.pdc.o obj/strings/mstring.pdc.o obj/strings/rstring.pdc.o obj/strings/sstring.pdc.o obj/strings/tstring.pdc.o obj/strings/xstring.pdc.o obj/strings/zstring.pdc.o -o bin/tests/dtest-strings-astring.elf +g++-8 -std=c++0x -fuse-ld=gold obj/debug-debug/net-ip.pdc.o obj/net/ip.pdc.o obj/generic/oops.pdc.o obj/io/extract.pdc.o obj/strings/astring.pdc.o obj/strings/literal.pdc.o obj/strings/mstring.pdc.o obj/strings/rstring.pdc.o obj/strings/sstring.pdc.o obj/strings/tstring.pdc.o obj/strings/xstring.pdc.o obj/strings/zstring.pdc.o -o bin/tests/dtest-net-ip.elf +g++-8 -std=c++0x -fuse-ld=gold obj/debug-debug/strings-rstring.pdc.o obj/strings/astring.pdc.o obj/strings/literal.pdc.o obj/strings/mstring.pdc.o obj/strings/rstring.pdc.o obj/strings/sstring.pdc.o obj/strings/tstring.pdc.o obj/strings/xstring.pdc.o obj/strings/zstring.pdc.o -o bin/tests/dtest-strings-rstring.elf +g++-8 -std=c++0x -fuse-ld=gold obj/debug-debug/net-timer.pdc.o obj/net/timer.pdc.o obj/strings/astring.pdc.o obj/strings/literal.pdc.o obj/strings/mstring.pdc.o obj/strings/rstring.pdc.o obj/strings/sstring.pdc.o obj/strings/tstring.pdc.o obj/strings/xstring.pdc.o obj/strings/zstring.pdc.o -o bin/tests/dtest-net-timer.elf +g++-8 -std=c++0x -fuse-ld=gold obj/debug-debug/sexpr-variant.pdc.o -o bin/tests/dtest-sexpr-variant.elf +g++-8 -std=c++0x -fuse-ld=gold obj/debug-debug/map-script-persist.pdc.o obj/generic/oops.pdc.o obj/map/script-parse.pdc.o obj/mmo/ids.pdc.o obj/mmo/strs.pdc.o obj/strings/astring.pdc.o obj/strings/literal.pdc.o obj/strings/mstring.pdc.o obj/strings/rstring.pdc.o obj/strings/sstring.pdc.o obj/strings/tstring.pdc.o obj/strings/xstring.pdc.o obj/strings/zstring.pdc.o obj/ast/script.pdc.o obj/io/span.pdc.o obj/map/globals.pdc.o obj/map/script-call.pdc.o obj/map/script-fun.pdc.o obj/net/ip.pdc.o obj/io/dir.pdc.o obj/io/fd.pdc.o obj/io/line.pdc.o obj/io/read.pdc.o obj/io/write.pdc.o obj/map/battle_conf.pdc.o obj/map/itemdb.pdc.o obj/map/map.pdc.o obj/map/map_conf.pdc.o obj/map/mapflag.pdc.o obj/map/mob.pdc.o obj/map/npc.pdc.o obj/map/quest.pdc.o obj/map/skill-pools.pdc.o obj/map/skill.pdc.o obj/net/socket.pdc.o obj/high/extract_mmo.pdc.o obj/io/extract.pdc.o obj/mmo/extract_enums.pdc.o obj/ast/item.pdc.o obj/mmo/config_parse.pdc.o obj/mmo/version.pdc.o obj/compat/nullpo.pdc.o obj/generic/random.pdc.o obj/high/core.pdc.o obj/map/atcommand.pdc.o obj/map/battle.pdc.o obj/map/chrif.pdc.o obj/map/clif.pdc.o obj/map/grfio.pdc.o obj/map/npc-parse.pdc.o obj/map/party.pdc.o obj/map/pc.pdc.o obj/map/script-startup.pdc.o obj/map/storage.pdc.o obj/map/trade.pdc.o obj/net/timer.pdc.o obj/net/timestamp-utils.pdc.o obj/ast/npc.pdc.o obj/high/utils.pdc.o obj/map/intif.pdc.o obj/map/tmw.pdc.o obj/mmo/human_time_diff.pdc.o obj/wire/packets.pdc.o obj/map/path.pdc.o obj/generic/md5.pdc.o obj/high/md5more.pdc.o obj/io/lock.pdc.o obj/ast/quest.pdc.o lib/libtmwa-shared.so.0.18.12.30.6.0 -o bin/tests/dtest-map-script-persist.elf +==15834== Memcheck, a memory error detector +==15834== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al. +==15834== Using Valgrind-3.13.0 and LibVEX; rerun with -h for copyright info +==15834== Command: bin/tests/gtest-ast--npc.elf +==15834== +g++-8 -std=c++0x -fuse-ld=gold obj/debug-debug/strings-zstring.pdc.o obj/strings/astring.pdc.o obj/strings/literal.pdc.o obj/strings/mstring.pdc.o obj/strings/rstring.pdc.o obj/strings/sstring.pdc.o obj/strings/tstring.pdc.o obj/strings/xstring.pdc.o obj/strings/zstring.pdc.o -o bin/tests/dtest-strings-zstring.elf +==15831== error calling PR_SET_PTRACER, vgdb might block +valgrind --error-exitcode=1 --track-fds=yes bin/tests/gtest-compat--iter.elf +valgrind --error-exitcode=1 --track-fds=yes bin/tests/gtest-compat--option.elf +valgrind --error-exitcode=1 --track-fds=yes bin/tests/gtest-compat--result.elf +valgrind --error-exitcode=1 --track-fds=yes bin/tests/gtest-generic--array.elf +==15868== Memcheck, a memory error detector +==15868== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al. +==15868== Using Valgrind-3.13.0 and LibVEX; rerun with -h for copyright info +==15868== Command: bin/tests/gtest-compat--iter.elf +==15868== +valgrind --error-exitcode=1 --track-fds=yes bin/tests/gtest-generic--intern-pool.elf +==15870== Memcheck, a memory error detector +==15870== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al. +==15870== Using Valgrind-3.13.0 and LibVEX; rerun with -h for copyright info +==15870== Command: bin/tests/gtest-compat--option.elf +==15870== +==15834== error calling PR_SET_PTRACER, vgdb might block +valgrind --error-exitcode=1 --track-fds=yes bin/tests/gtest-ints--cmp.elf +valgrind --error-exitcode=1 --track-fds=yes bin/tests/gtest-ints--udl.elf +valgrind --error-exitcode=1 --track-fds=yes bin/tests/gtest-generic--md5.elf +valgrind --error-exitcode=1 --track-fds=yes bin/tests/gtest-generic--oops.elf +==15874== Memcheck, a memory error detector +==15874== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al. +==15874== Using Valgrind-3.13.0 and LibVEX; rerun with -h for copyright info +==15874== Command: bin/tests/gtest-compat--result.elf +==15874== +valgrind --error-exitcode=1 --track-fds=yes bin/tests/gtest-io--line.elf +==15876== Memcheck, a memory error detector +==15876== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al. +==15876== Using Valgrind-3.13.0 and LibVEX; rerun with -h for copyright info +==15876== Command: bin/tests/gtest-generic--array.elf +==15876== +valgrind --error-exitcode=1 --track-fds=yes bin/tests/gtest-io--write.elf +valgrind --error-exitcode=1 --track-fds=yes bin/tests/gtest-io--extract.elf +valgrind --error-exitcode=1 --track-fds=yes bin/tests/gtest-mmo--config_parse.elf +==15881== Memcheck, a memory error detector +==15881== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al. +==15881== Using Valgrind-3.13.0 and LibVEX; rerun with -h for copyright info +==15881== Command: bin/tests/gtest-generic--intern-pool.elf +==15881== +valgrind --error-exitcode=1 --track-fds=yes bin/tests/gtest-io--read.elf +==15868== error calling PR_SET_PTRACER, vgdb might block +==15870== error calling PR_SET_PTRACER, vgdb might block +==15886== Memcheck, a memory error detector +==15886== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al. +==15886== Using Valgrind-3.13.0 and LibVEX; rerun with -h for copyright info +==15886== Command: bin/tests/gtest-ints--udl.elf +==15886== +==15885== Memcheck, a memory error detector +==15885== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al. +==15885== Using Valgrind-3.13.0 and LibVEX; rerun with -h for copyright info +==15885== Command: bin/tests/gtest-ints--cmp.elf +==15885== +==15889== Memcheck, a memory error detector +==15889== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al. +==15889== Using Valgrind-3.13.0 and LibVEX; rerun with -h for copyright info +==15889== Command: bin/tests/gtest-io--line.elf +==15889== +==15887== Memcheck, a memory error detector +==15887== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al. +==15887== Using Valgrind-3.13.0 and LibVEX; rerun with -h for copyright info +==15887== Command: bin/tests/gtest-generic--md5.elf +==15887== +==15888== Memcheck, a memory error detector +==15888== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al. +==15888== Using Valgrind-3.13.0 and LibVEX; rerun with -h for copyright info +==15888== Command: bin/tests/gtest-generic--oops.elf +==15888== +valgrind --error-exitcode=1 --track-fds=yes bin/tests/gtest-mmo--human_time_diff.elf +==15890== Memcheck, a memory error detector +==15890== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al. +==15890== Using Valgrind-3.13.0 and LibVEX; rerun with -h for copyright info +==15890== Command: bin/tests/gtest-io--write.elf +==15890== +==15891== Memcheck, a memory error detector +==15891== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al. +==15891== Using Valgrind-3.13.0 and LibVEX; rerun with -h for copyright info +==15891== Command: bin/tests/gtest-io--extract.elf +==15891== +==15892== Memcheck, a memory error detector +==15892== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al. +==15892== Using Valgrind-3.13.0 and LibVEX; rerun with -h for copyright info +==15892== Command: bin/tests/gtest-mmo--config_parse.elf +==15892== +==15893== Memcheck, a memory error detector +==15893== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al. +==15893== Using Valgrind-3.13.0 and LibVEX; rerun with -h for copyright info +==15893== Command: bin/tests/gtest-io--read.elf +==15893== +==15876== error calling PR_SET_PTRACER, vgdb might block +==15874== error calling PR_SET_PTRACER, vgdb might block +==15881== error calling PR_SET_PTRACER, vgdb might block +==15895== Memcheck, a memory error detector +==15895== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al. +==15895== Using Valgrind-3.13.0 and LibVEX; rerun with -h for copyright info +==15895== Command: bin/tests/gtest-mmo--human_time_diff.elf +==15895== +==15885== error calling PR_SET_PTRACER, vgdb might block +==15886== error calling PR_SET_PTRACER, vgdb might block +==15888== error calling PR_SET_PTRACER, vgdb might block +==15887== error calling PR_SET_PTRACER, vgdb might block +==15890== error calling PR_SET_PTRACER, vgdb might block +==15889== error calling PR_SET_PTRACER, vgdb might block +==15892== error calling PR_SET_PTRACER, vgdb might block +==15891== error calling PR_SET_PTRACER, vgdb might block +==15893== error calling PR_SET_PTRACER, vgdb might block +==15895== error calling PR_SET_PTRACER, vgdb might block +valgrind --error-exitcode=1 --track-fds=yes bin/tests/gtest-net--ip.elf +valgrind --error-exitcode=1 --track-fds=yes bin/tests/gtest-range--slice.elf +==15897== Memcheck, a memory error detector +==15897== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al. +==15897== Using Valgrind-3.13.0 and LibVEX; rerun with -h for copyright info +==15897== Command: bin/tests/gtest-net--ip.elf +==15897== +==15899== Memcheck, a memory error detector +==15899== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al. +==15899== Using Valgrind-3.13.0 and LibVEX; rerun with -h for copyright info +==15899== Command: bin/tests/gtest-range--slice.elf +==15899== +==15897== error calling PR_SET_PTRACER, vgdb might block +==15899== error calling PR_SET_PTRACER, vgdb might block +Running main() from gtest_main.cc +[==========] Running 10 tests from 1 test case. +[----------] Global test environment set-up. +[----------] 10 tests from Option +[ RUN ] Option.somenone +[ OK ] Option.somenone (5 ms) +Running main() from gtest_main.cc +[==========] Running 3 tests from 1 test case. +[ RUN ] Option.somenonenocopy +[ OK ] Option.somenonenocopy (1 ms) +[ RUN ] Option.customrepr +[----------] Global test environment set-up. +[ OK ] Option.customrepr (1 ms) +[ RUN ] Option.destruct +[ OK ] Option.destruct (0 ms) +[ RUN ] Option.def +[----------] 3 tests from itemast +[ RUN ] itemast.eof +[ OK ] Option.def (7 ms) +[ RUN ] Option.map +[ OK ] Option.map (7 ms) +[ RUN ] Option.member +[ OK ] Option.member (4 ms) +[ RUN ] Option.unwrap +Running main() from gtest_main.cc +[==========] Running 4 tests from 1 test case. +[----------] Global test environment set-up. +[ OK ] Option.unwrap (8 ms) +[ RUN ] Option.flatten +[----------] 4 tests from Array +[ RUN ] Array.simple +[ OK ] Option.flatten (4 ms) +[ RUN ] Option.cmp +Running main() from gtest_main.cc +[==========] Running 9 tests from 1 test case. +[ OK ] Option.cmp (4 ms) +[ OK ] itemast.eof (27 ms) +[ RUN ] itemast.comment +[----------] Global test environment set-up. +[----------] 10 tests from Option (48 ms total) + +[----------] Global test environment tear-down +[----------] 9 tests from npcast +[ RUN ] npcast.eof +[==========] 10 tests from 1 test case ran. (72 ms total) +[ PASSED ] 10 tests. +[ OK ] itemast.comment (32 ms) +[ RUN ] itemast.item +==15870== +==15870== FILE DESCRIPTORS: 3 open at exit. +==15870== Open file descriptor 0: +==15870== +==15870== +==15870== Open file descriptor 2: /mnt/c/tmwAthena/tmwa/out +==15870== +==15870== +==15870== Open file descriptor 1: /mnt/c/tmwAthena/tmwa/out +==15870== +==15870== +==15870== +==15870== HEAP SUMMARY: +==15870== in use at exit: 0 bytes in 0 blocks +==15870== total heap usage: 242 allocs, 242 frees, 114,621 bytes allocated +==15870== +==15870== All heap blocks were freed -- no leaks are possible +==15870== +==15870== For counts of detected and suppressed errors, rerun with: -v +==15870== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) +[ OK ] npcast.eof (29 ms) +[ RUN ] npcast.comment +touch stamp/run-gtest-compat--option.stamp +[ OK ] Array.simple (53 ms) +[ RUN ] Array.inclusive1 +[ OK ] Array.inclusive1 (5 ms) +[ RUN ] Array.negative +[ OK ] Array.negative (4 ms) +[ RUN ] Array.enum +[ OK ] Array.enum (4 ms) +[----------] 4 tests from Array (73 ms total) + +[----------] Global test environment tear-down +[ OK ] npcast.comment (30 ms) +[ RUN ] npcast.warp +[==========] 4 tests from 1 test case ran. (97 ms total) +[ PASSED ] 4 tests. +Running main() from gtest_main.cc +[==========] Running 6 tests from 1 test case. +[----------] Global test environment set-up. +==15876== +==15876== FILE DESCRIPTORS: 3 open at exit. +==15876== Open file descriptor 0: +==15876== +==15876== +==15876== Open file descriptor 2: /mnt/c/tmwAthena/tmwa/out +==15876== +==15876== +==15876== Open file descriptor 1: /mnt/c/tmwAthena/tmwa/out +==15876== +==15876== +==15876== +==15876== HEAP SUMMARY: +==15876== in use at exit: 0 bytes in 0 blocks +==15876== total heap usage: 297 allocs, 297 frees, 131,156 bytes allocated +==15876== +==15876== All heap blocks were freed -- no leaks are possible +==15876== +==15876== For counts of detected and suppressed errors, rerun with: -v +==15876== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) +[----------] 6 tests from iterpair +[ RUN ] iterpair.strings +touch stamp/run-gtest-generic--array.stamp +[ OK ] iterpair.strings (7 ms) +[ RUN ] iterpair.signed8 +[ OK ] iterpair.signed8 (2 ms) +[ RUN ] iterpair.unsigned8 +[ OK ] iterpair.unsigned8 (2 ms) +[ RUN ] iterpair.filter1 +[ OK ] iterpair.filter1 (3 ms) +[ RUN ] iterpair.filter2 +[ OK ] iterpair.filter2 (3 ms) +[ RUN ] iterpair.filter3 +valgrind --error-exitcode=1 --track-fds=yes bin/tests/gtest-sexpr--lexer.elf +Running main() from gtest_main.cc +[==========] Running 1 test from 1 test case. +[ OK ] iterpair.filter3 (3 ms) +[----------] Global test environment set-up. +[----------] 6 tests from iterpair (28 ms total) + +[----------] 1 test from md5calc +[----------] Global test environment tear-down +Running main() from gtest_main.cc +[==========] Running 6 tests from 1 test case. +[ RUN ] md5calc.rfc1321 +[----------] Global test environment set-up. +[----------] 6 tests from ints +[==========] 6 tests from 1 test case ran. (64 ms total) +[ PASSED ] 6 tests. +[ RUN ] ints.smc +Running main() from gtest_main.cc +[==========] Running 2 tests from 1 test case. +Running main() from gtest_main.cc +[==========] Running 1 test from 1 test case. +[----------] Global test environment set-up. +[----------] Global test environment set-up. +[----------] 1 test from configparse +[----------] 2 tests from Result +[ RUN ] configparse.keyvalue +[ OK ] npcast.warp (83 ms) +[ RUN ] npcast.shop +[ RUN ] Result.inspect +[ OK ] ints.smc (5 ms) +[ RUN ] ints.constant +[ OK ] ints.constant (0 ms) +[ RUN ] ints.udl8 +[ OK ] md5calc.rfc1321 (23 ms) +[ OK ] Result.inspect (9 ms) +[----------] 1 test from md5calc (30 ms total) + +[ RUN ] Result.try +[----------] Global test environment tear-down +[ OK ] Result.try (3 ms) +[ OK ] itemast.item (142 ms) +[----------] 3 tests from itemast (207 ms total) + +[==========] 1 test from 1 test case ran. (53 ms total) +[ PASSED ] 1 test. +[----------] 2 tests from Result (20 ms total) + +[----------] Global test environment tear-down +[----------] Global test environment tear-down +[ OK ] ints.udl8 (20 ms) +[ RUN ] ints.udl16 +[==========] 3 tests from 1 test case ran. (230 ms total) +[ PASSED ] 3 tests. +[==========] 2 tests from 1 test case ran. (45 ms total) +[ PASSED ] 2 tests. +==15868== +==15868== FILE DESCRIPTORS: 3 open at exit. +==15868== Open file descriptor 0: +==15868== +==15868== +==15868== Open file descriptor 2: /mnt/c/tmwAthena/tmwa/out +==15868== +==15868== +==15868== Open file descriptor 1: /mnt/c/tmwAthena/tmwa/out +==15868== +==15868== +==15868== +==15868== HEAP SUMMARY: +==15868== in use at exit: 0 bytes in 0 blocks +==15868== total heap usage: 203 allocs, 203 frees, 109,594 bytes allocated +==15868== +==15868== All heap blocks were freed -- no leaks are possible +==15868== +==15868== For counts of detected and suppressed errors, rerun with: -v +==15868== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) +[ OK ] configparse.keyvalue (26 ms) +[----------] 1 test from configparse (33 ms total) + +[----------] Global test environment tear-down +Running main() from gtest_main.cc +[==========] Running 8 tests from 1 test case. +valgrind --error-exitcode=1 --track-fds=yes bin/tests/gtest-sexpr--parser.elf +[==========] 1 test from 1 test case ran. (56 ms total) +[ PASSED ] 1 test. +[----------] Global test environment set-up. +[----------] 8 tests from ints +[ OK ] ints.udl16 (21 ms) +[ RUN ] ints.sati8 +[ RUN ] ints.udl32 +==15887== +==15887== FILE DESCRIPTORS: 3 open at exit. +==15887== Open file descriptor 0: +==15887== +==15887== +==15887== Open file descriptor 2: /mnt/c/tmwAthena/tmwa/out +==15887== +==15887== +==15887== Open file descriptor 1: /mnt/c/tmwAthena/tmwa/out +==15887== +==15887== +==15887== +==15887== HEAP SUMMARY: +==15887== in use at exit: 0 bytes in 0 blocks +==15887== total heap usage: 144 allocs, 144 frees, 104,256 bytes allocated +==15887== +==15887== All heap blocks were freed -- no leaks are possible +==15887== +==15887== For counts of detected and suppressed errors, rerun with: -v +==15887== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) +==15903== Memcheck, a memory error detector +==15903== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al. +==15903== Using Valgrind-3.13.0 and LibVEX; rerun with -h for copyright info +==15903== Command: bin/tests/gtest-sexpr--lexer.elf +==15903== +Running main() from gtest_main.cc +[==========] Running 2 tests from 1 test case. +[----------] Global test environment set-up. +==15831== +==15831== FILE DESCRIPTORS: 3 open at exit. +Running main() from gtest_main.cc +[==========] Running 2 tests from 1 test case. +==15831== Open file descriptor 0: +==15831== +==15831== +==15831== Open file descriptor 2: /dev/null +[ OK ] ints.sati8 (5 ms) +==15831== at 0x54ED9A7: dup2 (syscall-template.S:78) +==15831== by 0x12E12A: tmwa::io::FD::dup2(tmwa::io::FD) (fd.cpp:185) +==15831== by 0x118D18: ~ReplaceFd (fdhack.hpp:47) +==15831== by 0x118D18: ~QuietFd (fdhack.hpp:51) +==15874== +==15831== by 0x118D18: tmwa::ast::item::itemast_item_Test::TestBody() (item_test.cpp:87) +==15874== FILE DESCRIPTORS: 3 open at exit. +==15831== by 0x153709: HandleSehExceptionsInMethodIfSupported (gtest.cc:2402) +==15874== Open file descriptor 0: +==15874== +==15831== by 0x153709: void testing::internal::HandleExceptionsInMethodIfSupported(testing::Test*, void (testing::Test::*)(), char const*) (gtest.cc:2438) +==15874== +==15831== by 0x14509B: testing::Test::Run() [clone .part.595] (gtest.cc:2474) +==15874== Open file descriptor 2: /mnt/c/tmwAthena/tmwa/out +==15831== by 0x145334: Run (gtest.cc:2466) +==15874== +==15874== +==15831== by 0x145334: testing::TestInfo::Run() [clone .part.596] (gtest.cc:2656) +==15874== Open file descriptor 1: /mnt/c/tmwAthena/tmwa/out +==15831== by 0x1454B3: Run (gtest.cc:2631) +==15874== +==15874== +==15831== by 0x1454B3: testing::TestCase::Run() [clone .part.597] (gtest.cc:2776) +[ RUN ] ints.satu8 +[----------] Global test environment set-up. +[----------] 2 tests from oops +==15874== +==15831== by 0x14C8F2: Run (gtest.cc:2762) +==15874== HEAP SUMMARY: +==15874== in use at exit: 0 bytes in 0 blocks +==15874== total heap usage: 155 allocs, 155 frees, 105,282 bytes allocated +==15874== +==15831== by 0x14C8F2: testing::internal::UnitTestImpl::RunAllTests() (gtest.cc:4651) +==15874== All heap blocks were freed -- no leaks are possible +==15831== by 0x153BE9: HandleSehExceptionsInMethodIfSupported (gtest.cc:2402) +==15874== +==15831== by 0x153BE9: bool testing::internal::HandleExceptionsInMethodIfSupported(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) (gtest.cc:2438) +==15874== For counts of detected and suppressed errors, rerun with: -v +==15831== by 0x145647: testing::UnitTest::Run() (gtest.cc:4259) +==15874== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) +==15831== by 0x116478: RUN_ALL_TESTS (gtest.h:2233) +==15831== by 0x116478: main (gtest_main.cc:37) +==15831== +==15831== Open file descriptor 1: /mnt/c/tmwAthena/tmwa/out +==15831== +==15831== +==15831== +==15831== HEAP SUMMARY: +==15831== in use at exit: 0 bytes in 0 blocks +==15831== total heap usage: 380 allocs, 380 frees, 147,329 bytes allocated +==15831== +==15831== All heap blocks were freed -- no leaks are possible +==15831== +==15831== For counts of detected and suppressed errors, rerun with: -v +==15831== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) +[ OK ] ints.satu8 (0 ms) +[ RUN ] ints.sati16 +touch stamp/run-gtest-compat--iter.stamp +[ OK ] ints.sati16 (0 ms) +[ RUN ] ints.satu16 +[----------] 2 tests from humantimediff +[ OK ] ints.satu16 (0 ms) +[ RUN ] ints.sati32 +[ RUN ] oops.okay +[ OK ] ints.sati32 (0 ms) +[ RUN ] ints.satu32 +[ OK ] ints.satu32 (0 ms) +[ RUN ] ints.sati64 +[ RUN ] humantimediff.single +[ OK ] ints.sati64 (0 ms) +[ RUN ] ints.satu64 +[ OK ] ints.satu64 (0 ms) +[ OK ] ints.udl32 (20 ms) +[ RUN ] ints.udl64 +==15892== +==15892== FILE DESCRIPTORS: 3 open at exit. +==15892== Open file descriptor 0: +==15892== +==15892== +==15892== Open file descriptor 2: /mnt/c/tmwAthena/tmwa/out +==15892== +==15892== +==15892== Open file descriptor 1: /mnt/c/tmwAthena/tmwa/out +==15892== +==15892== +==15892== +==15892== HEAP SUMMARY: +==15892== in use at exit: 0 bytes in 0 blocks +==15892== total heap usage: 145 allocs, 145 frees, 104,322 bytes allocated +==15892== +==15892== All heap blocks were freed -- no leaks are possible +==15892== +==15892== For counts of detected and suppressed errors, rerun with: -v +==15892== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) +[----------] 8 tests from ints (21 ms total) + +[----------] Global test environment tear-down +[==========] 8 tests from 1 test case ran. (47 ms total) +[ PASSED ] 8 tests. +[ OK ] oops.okay (13 ms) +[ RUN ] oops.uhoh +[ OK ] ints.udl64 (19 ms) +[----------] 6 tests from ints (93 ms total) + +[----------] Global test environment tear-down +[==========] 6 tests from 1 test case ran. (118 ms total) +[ PASSED ] 6 tests. +[ OK ] humantimediff.single (32 ms) +[ RUN ] humantimediff.multiple +==15885== +==15885== FILE DESCRIPTORS: 3 open at exit. +==15885== Open file descriptor 0: +==15885== +==15885== +==15885== Open file descriptor 2: /mnt/c/tmwAthena/tmwa/out +==15885== +==15885== +==15885== Open file descriptor 1: /mnt/c/tmwAthena/tmwa/out +==15885== +==15885== +==15885== +==15885== HEAP SUMMARY: +==15885== in use at exit: 0 bytes in 0 blocks +==15885== total heap usage: 213 allocs, 213 frees, 111,180 bytes allocated +==15885== +==15885== All heap blocks were freed -- no leaks are possible +==15885== +==15885== For counts of detected and suppressed errors, rerun with: -v +==15885== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) +[ OK ] humantimediff.multiple (3 ms) +[----------] 2 tests from humantimediff (42 ms total) + +[----------] Global test environment tear-down +Running main() from gtest_main.cc +[==========] Running 13 tests from 1 test case. +[ OK ] npcast.shop (108 ms) +[ RUN ] npcast.monster +[----------] Global test environment set-up. +[==========] 2 tests from 1 test case ran. (68 ms total) +[ PASSED ] 2 tests. +[----------] 13 tests from io +[ RUN ] io.line1 +==15886== +==15886== FILE DESCRIPTORS: 3 open at exit. +==15886== Open file descriptor 0: +==15886== +==15886== +==15886== Open file descriptor 2: /mnt/c/tmwAthena/tmwa/out +==15886== +==15886== +==15886== Open file descriptor 1: /mnt/c/tmwAthena/tmwa/out +==15886== +==15886== +==15886== +==15886== HEAP SUMMARY: +==15886== in use at exit: 0 bytes in 0 blocks +==15886== total heap usage: 195 allocs, 195 frees, 109,244 bytes allocated +==15886== +==15886== All heap blocks were freed -- no leaks are possible +==15886== +==15886== For counts of detected and suppressed errors, rerun with: -v +==15886== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) +[ OK ] oops.uhoh (41 ms) +[----------] 2 tests from oops (61 ms total) + +[----------] Global test environment tear-down +Running main() from gtest_main.cc +[==========] Running 1 test from 1 test case. +[----------] Global test environment set-up. +[==========] 2 tests from 1 test case ran. (87 ms total) +[ PASSED ] 2 tests. +touch stamp/run-gtest-generic--md5.stamp +[----------] 1 test from InternPool +[ RUN ] InternPool.whydoesthisalwaysneedasecondname +touch stamp/run-gtest-compat--result.stamp +==15895== +touch stamp/run-gtest-ast--item.stamp +==15895== FILE DESCRIPTORS: 3 open at exit. +==15895== Open file descriptor 0: +==15895== +==15895== +==15895== Open file descriptor 2: /mnt/c/tmwAthena/tmwa/out +==15895== +==15895== +==15895== Open file descriptor 1: /mnt/c/tmwAthena/tmwa/out +==15895== +==15895== +==15895== +==15895== HEAP SUMMARY: +==15895== in use at exit: 0 bytes in 0 blocks +==15895== total heap usage: 157 allocs, 157 frees, 105,410 bytes allocated +==15895== +==15895== All heap blocks were freed -- no leaks are possible +==15895== +==15895== For counts of detected and suppressed errors, rerun with: -v +==15895== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) +[ OK ] io.line1 (19 ms) +[ RUN ] io.line2 +touch stamp/run-gtest-mmo--config_parse.stamp +touch stamp/run-gtest-ints--cmp.stamp +[ OK ] io.line2 (11 ms) +[ RUN ] io.line3 +touch stamp/run-gtest-ints--udl.stamp +touch stamp/run-gtest-mmo--human_time_diff.stamp +==15888== +==15888== FILE DESCRIPTORS: 3 open at exit. +==15888== Open file descriptor 0: +==15888== +==15888== +==15888== Open file descriptor 2: /mnt/c/tmwAthena/tmwa/out +==15888== +==15888== +==15888== Open file descriptor 1: /mnt/c/tmwAthena/tmwa/out +==15888== +==15888== +==15888== +==15888== HEAP SUMMARY: +==15888== in use at exit: 0 bytes in 0 blocks +==15888== total heap usage: 168 allocs, 168 frees, 107,306 bytes allocated +==15888== +==15888== All heap blocks were freed -- no leaks are possible +==15888== +==15888== For counts of detected and suppressed errors, rerun with: -v +==15888== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) +[ OK ] io.line3 (7 ms) +[ RUN ] io.line4 +[ OK ] InternPool.whydoesthisalwaysneedasecondname (25 ms) +==15905== Memcheck, a memory error detector +==15905== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al. +[----------] 1 test from InternPool (32 ms total) + +==15905== Using Valgrind-3.13.0 and LibVEX; rerun with -h for copyright info +==15905== Command: bin/tests/gtest-sexpr--parser.elf +==15905== +[----------] Global test environment tear-down +[ OK ] io.line4 (10 ms) +[ RUN ] io.line5 +Running main() from gtest_main.cc +[==========] Running 3 tests from 1 test case. +[==========] 1 test from 1 test case ran. (56 ms total) +[ PASSED ] 1 test. +touch stamp/run-gtest-generic--oops.stamp +[----------] Global test environment set-up. +[ OK ] io.line5 (8 ms) +[ RUN ] io.line1text +[----------] 3 tests from io +[ RUN ] io.write1 +[ OK ] io.line1text (6 ms) +[ RUN ] io.linechar1 +Running main() from gtest_main.cc +[==========] Running 4 tests from 1 test case. +[----------] Global test environment set-up. +[----------] 4 tests from extract +[ RUN ] extract.record_int +[ OK ] io.linechar1 (17 ms) +[ RUN ] io.linechar2 +==15881== +==15881== FILE DESCRIPTORS: 3 open at exit. +==15881== Open file descriptor 0: +==15881== +==15881== +==15881== Open file descriptor 2: /mnt/c/tmwAthena/tmwa/out +==15881== +==15881== +==15881== Open file descriptor 1: /mnt/c/tmwAthena/tmwa/out +==15881== +==15881== +==15881== +==15881== HEAP SUMMARY: +==15881== in use at exit: 0 bytes in 0 blocks +==15881== total heap usage: 157 allocs, 157 frees, 104,725 bytes allocated +==15881== +==15881== All heap blocks were freed -- no leaks are possible +==15881== +==15881== For counts of detected and suppressed errors, rerun with: -v +==15881== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) +[ OK ] io.write1 (17 ms) +[ RUN ] io.write2 +[ OK ] io.write2 (8 ms) +[ RUN ] io.write3 +[ OK ] io.linechar2 (14 ms) +[ RUN ] io.linechar3 +touch stamp/run-gtest-generic--intern-pool.stamp +valgrind --error-exitcode=1 --track-fds=yes bin/tests/gtest-sexpr--union.elf +[ OK ] io.linechar3 (14 ms) +[ RUN ] io.linechar4 +[ OK ] io.write3 (22 ms) +==15903== error calling PR_SET_PTRACER, vgdb might block +[----------] 3 tests from io (53 ms total) + +[----------] Global test environment tear-down +Running main() from gtest_main.cc +[==========] Running 7 tests from 1 test case. +[----------] Global test environment set-up. +[==========] 3 tests from 1 test case ran. (77 ms total) +[ PASSED ] 3 tests. +[ OK ] npcast.monster (129 ms) +[ RUN ] npcast.mapflag +[----------] 7 tests from io +[ RUN ] io.read1 +[ OK ] io.linechar4 (14 ms) +[ RUN ] io.linechar5 +valgrind --error-exitcode=1 --track-fds=yes bin/tests/gtest-strings--base.elf +[ OK ] io.linechar5 (17 ms) +[ RUN ] io.linechar1text +[ OK ] io.read1 (18 ms) +[ RUN ] io.read2 +==15890== +==15890== FILE DESCRIPTORS: 3 open at exit. +==15890== Open file descriptor 0: +==15890== +==15890== +==15890== Open file descriptor 2: /mnt/c/tmwAthena/tmwa/out +==15890== +==15890== +==15890== Open file descriptor 1: /mnt/c/tmwAthena/tmwa/out +==15890== +==15890== +==15890== +==15890== HEAP SUMMARY: +==15890== in use at exit: 0 bytes in 0 blocks +==15890== total heap usage: 322 allocs, 322 frees, 249,445 bytes allocated +==15890== +==15890== All heap blocks were freed -- no leaks are possible +==15890== +==15890== For counts of detected and suppressed errors, rerun with: -v +==15890== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) +[ OK ] io.read2 (2 ms) +[ RUN ] io.read3 +[ OK ] extract.record_int (70 ms) +[ RUN ] extract.record_str +[ OK ] io.read3 (4 ms) +[ RUN ] io.read4 +[ OK ] io.linechar1text (16 ms) +[ RUN ] io.linespan +[ OK ] io.read4 (3 ms) +[ RUN ] io.read5 +valgrind --error-exitcode=1 --track-fds=yes bin/tests/gtest-strings--strings2.elf +[ OK ] io.read5 (4 ms) +[ RUN ] io.readstringr +touch stamp/run-gtest-io--write.stamp +valgrind --error-exitcode=1 --track-fds=yes bin/tests/gtest-sexpr--variant.elf +[ OK ] npcast.mapflag (50 ms) +[ RUN ] npcast.scriptfun +gdb -return-child-result -nx -batch -ex 'python file_to_load = "bin/tests/dtest-compat-borrow.elf"' -x ./tools/debug-debug.gdb --args false bin/tests/dtest-compat-borrow.elf +gdb -return-child-result -nx -batch -ex 'python file_to_load = "bin/tests/dtest-compat-option.elf"' -x ./tools/debug-debug.gdb --args false bin/tests/dtest-compat-option.elf +gdb -return-child-result -nx -batch -ex 'python file_to_load = "bin/tests/dtest-generic-dumb_ptr.elf"' -x ./tools/debug-debug.gdb --args false bin/tests/dtest-generic-dumb_ptr.elf +[ OK ] io.linespan (27 ms) +[ OK ] io.readstringr (23 ms) +[ RUN ] io.readstringx +gdb -return-child-result -nx -batch -ex 'python file_to_load = "bin/tests/dtest-ints-wrap.elf"' -x ./tools/debug-debug.gdb --args false bin/tests/dtest-ints-wrap.elf +[----------] 13 tests from io (190 ms total) + +[----------] Global test environment tear-down +==15923== Memcheck, a memory error detector +==15923== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al. +==15923== Using Valgrind-3.13.0 and LibVEX; rerun with -h for copyright info +==15923== Command: bin/tests/gtest-sexpr--union.elf +==15923== +[==========] 13 tests from 1 test case ran. (213 ms total) +[ PASSED ] 13 tests. +==15905== error calling PR_SET_PTRACER, vgdb might block +[ OK ] io.readstringx (22 ms) +[----------] 7 tests from io (85 ms total) + +[----------] Global test environment tear-down +[==========] 7 tests from 1 test case ran. (108 ms total) +[ PASSED ] 7 tests. +==15926== Memcheck, a memory error detector +==15889== +==15926== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al. +==15889== FILE DESCRIPTORS: 3 open at exit. +==15926== Using Valgrind-3.13.0 and LibVEX; rerun with -h for copyright info +==15889== Open file descriptor 0: +==15926== Command: bin/tests/gtest-strings--base.elf +==15889== +==15926== +==15889== +==15889== Open file descriptor 2: /dev/null +==15889== at 0x54ED9A7: dup2 (syscall-template.S:78) +==15889== by 0x12BB1A: tmwa::io::FD::dup2(tmwa::io::FD) (fd.cpp:185) +==15889== by 0x128A86: ~ReplaceFd (fdhack.hpp:47) +==15889== by 0x128A86: ~QuietFd (fdhack.hpp:51) +==15889== by 0x128A86: tmwa::io_linechar5_Test::TestBody() (line_test.cpp:345) +==15889== by 0x14F969: HandleSehExceptionsInMethodIfSupported (gtest.cc:2402) +==15889== by 0x14F969: void testing::internal::HandleExceptionsInMethodIfSupported(testing::Test*, void (testing::Test::*)(), char const*) (gtest.cc:2438) +==15889== by 0x1412FB: testing::Test::Run() [clone .part.595] (gtest.cc:2474) +==15889== by 0x141594: Run (gtest.cc:2466) +==15889== by 0x141594: testing::TestInfo::Run() [clone .part.596] (gtest.cc:2656) +==15889== by 0x141713: Run (gtest.cc:2631) +==15889== by 0x141713: testing::TestCase::Run() [clone .part.597] (gtest.cc:2776) +==15889== by 0x148B52: Run (gtest.cc:2762) +==15889== by 0x148B52: testing::internal::UnitTestImpl::RunAllTests() (gtest.cc:4651) +==15889== by 0x14FE49: HandleSehExceptionsInMethodIfSupported (gtest.cc:2402) +==15889== by 0x14FE49: bool testing::internal::HandleExceptionsInMethodIfSupported(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) (gtest.cc:2438) +==15889== by 0x1418A7: testing::UnitTest::Run() (gtest.cc:4259) +==15889== by 0x117ED8: RUN_ALL_TESTS (gtest.h:2233) +==15889== by 0x117ED8: main (gtest_main.cc:37) +==15889== +==15889== Open file descriptor 1: /mnt/c/tmwAthena/tmwa/out +==15889== +==15889== +==15889== +==15889== HEAP SUMMARY: +==15889== in use at exit: 0 bytes in 0 blocks +==15889== total heap usage: 387 allocs, 387 frees, 143,323 bytes allocated +==15889== +==15889== All heap blocks were freed -- no leaks are possible +==15889== +==15889== For counts of detected and suppressed errors, rerun with: -v +==15889== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) +[ OK ] npcast.scriptfun (49 ms) +[ RUN ] npcast.scriptnone +[ OK ] extract.record_str (71 ms) +[ RUN ] extract.mapname +Running main() from gtest_main.cc +[==========] Running 2 tests from 1 test case. +[----------] Global test environment set-up. +[----------] 2 tests from slice +[ RUN ] slice.slice +[ OK ] extract.mapname (9 ms) +[ RUN ] extract.chrono +touch stamp/run-gtest-io--line.stamp +valgrind --error-exitcode=1 --track-fds=yes bin/tests/gtest-strings--strings.elf +==15893== +==15893== FILE DESCRIPTORS: 3 open at exit. +==15893== Open file descriptor 0: +==15893== +==15893== +==15893== Open file descriptor 2: /dev/null +==15893== at 0x54ED9A7: dup2 (syscall-template.S:78) +==15893== by 0x119BCA: tmwa::io::FD::dup2(tmwa::io::FD) (fd.cpp:185) +==15893== by 0x115E24: ~ReplaceFd (fdhack.hpp:47) +==15893== by 0x115E24: ~QuietFd (fdhack.hpp:51) +==15893== by 0x115E24: tmwa::io_read5_Test::TestBody() (read_test.cpp:87) +==15893== by 0x13C2C9: HandleSehExceptionsInMethodIfSupported (gtest.cc:2402) +==15893== by 0x13C2C9: void testing::internal::HandleExceptionsInMethodIfSupported(testing::Test*, void (testing::Test::*)(), char const*) (gtest.cc:2438) +==15893== by 0x12DC5B: testing::Test::Run() [clone .part.595] (gtest.cc:2474) +==15893== by 0x12DEF4: Run (gtest.cc:2466) +==15893== by 0x12DEF4: testing::TestInfo::Run() [clone .part.596] (gtest.cc:2656) +==15893== by 0x12E073: Run (gtest.cc:2631) +==15893== by 0x12E073: testing::TestCase::Run() [clone .part.597] (gtest.cc:2776) +==15893== by 0x1354B2: Run (gtest.cc:2762) +==15893== by 0x1354B2: testing::internal::UnitTestImpl::RunAllTests() (gtest.cc:4651) +==15893== by 0x13C7A9: HandleSehExceptionsInMethodIfSupported (gtest.cc:2402) +==15893== by 0x13C7A9: bool testing::internal::HandleExceptionsInMethodIfSupported(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) (gtest.cc:2438) +==15893== by 0x12E207: testing::UnitTest::Run() (gtest.cc:4259) +==15893== by 0x113E88: RUN_ALL_TESTS (gtest.h:2233) +==15893== by 0x113E88: main (gtest_main.cc:37) +==15893== +==15893== Open file descriptor 1: /mnt/c/tmwAthena/tmwa/out +==15893== +==15893== +==15893== +==15893== HEAP SUMMARY: +==15893== in use at exit: 0 bytes in 0 blocks +==15893== total heap usage: 228 allocs, 228 frees, 124,776 bytes allocated +==15893== +==15893== All heap blocks were freed -- no leaks are possible +==15893== +==15893== For counts of detected and suppressed errors, rerun with: -v +==15893== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) +==15927== Memcheck, a memory error detector +==15927== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al. +==15927== Using Valgrind-3.13.0 and LibVEX; rerun with -h for copyright info +==15927== Command: bin/tests/gtest-strings--strings2.elf +==15927== +[ OK ] npcast.scriptnone (30 ms) +[ RUN ] npcast.scriptmap +[ OK ] slice.slice (15 ms) +[ RUN ] slice.cast +[ OK ] slice.cast (1 ms) +gdb -return-child-result -nx -batch -ex 'python file_to_load = "bin/tests/dtest-map-map.elf"' -x ./tools/debug-debug.gdb --args false bin/tests/dtest-map-map.elf +==15929== Memcheck, a memory error detector +==15929== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al. +==15929== Using Valgrind-3.13.0 and LibVEX; rerun with -h for copyright info +==15929== Command: bin/tests/gtest-sexpr--variant.elf +==15929== +[----------] 2 tests from slice (23 ms total) + +[----------] Global test environment tear-down +touch stamp/run-gtest-io--read.stamp +[==========] 2 tests from 1 test case ran. (47 ms total) +[ PASSED ] 2 tests. +gdb -return-child-result -nx -batch -ex 'python file_to_load = "bin/tests/dtest-map-mapflag.elf"' -x ./tools/debug-debug.gdb --args false bin/tests/dtest-map-mapflag.elf +[ OK ] extract.chrono (48 ms) +[----------] 4 tests from extract (204 ms total) + +[----------] Global test environment tear-down +==15899== +==15899== FILE DESCRIPTORS: 3 open at exit. +==15899== Open file descriptor 2: /mnt/c/tmwAthena/tmwa/out +==15899== +==15899== +==15899== Open file descriptor 1: /mnt/c/tmwAthena/tmwa/out +==15899== +==15899== +==15899== Open file descriptor 0: /dev/tty1 +==15899== +==15899== +==15899== +==15899== HEAP SUMMARY: +==15899== in use at exit: 0 bytes in 0 blocks +==15899== total heap usage: 155 allocs, 155 frees, 105,260 bytes allocated +==15899== +==15899== All heap blocks were freed -- no leaks are possible +==15899== +==15899== For counts of detected and suppressed errors, rerun with: -v +==15899== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) +[==========] 4 tests from 1 test case ran. (229 ms total) +[ PASSED ] 4 tests. +touch stamp/run-gtest-range--slice.stamp +==15891== +==15891== FILE DESCRIPTORS: 3 open at exit. +==15891== Open file descriptor 0: +==15891== +==15891== +==15891== Open file descriptor 2: /mnt/c/tmwAthena/tmwa/out +==15891== +==15891== +==15891== Open file descriptor 1: /mnt/c/tmwAthena/tmwa/out +==15891== +==15891== +==15891== +==15891== HEAP SUMMARY: +==15891== in use at exit: 0 bytes in 0 blocks +==15891== total heap usage: 177 allocs, 177 frees, 107,311 bytes allocated +==15891== +==15891== All heap blocks were freed -- no leaks are possible +==15891== +==15891== For counts of detected and suppressed errors, rerun with: -v +==15891== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) +==15923== error calling PR_SET_PTRACER, vgdb might block +[ OK ] npcast.scriptmap (68 ms) +[----------] 9 tests from npcast (585 ms total) + +[----------] Global test environment tear-down +[==========] 9 tests from 1 test case ran. (609 ms total) +[ PASSED ] 9 tests. +==15937== Memcheck, a memory error detector +==15937== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al. +==15937== Using Valgrind-3.13.0 and LibVEX; rerun with -h for copyright info +==15937== Command: bin/tests/gtest-strings--strings.elf +==15937== +touch stamp/run-gtest-io--extract.stamp +gdb -return-child-result -nx -batch -ex 'python file_to_load = "bin/tests/dtest-map-script-parse.elf"' -x ./tools/debug-debug.gdb --args false bin/tests/dtest-map-script-parse.elf +==15834== +==15834== FILE DESCRIPTORS: 3 open at exit. +==15834== Open file descriptor 0: +==15834== +==15834== +==15834== Open file descriptor 2: /dev/null +==15834== at 0x54ED9A7: dup2 (syscall-template.S:78) +==15834== by 0x14FC1A: tmwa::io::FD::dup2(tmwa::io::FD) (fd.cpp:185) +==15834== by 0x1289DB: ~ReplaceFd (fdhack.hpp:47) +==15834== by 0x1289DB: ~QuietFd (fdhack.hpp:51) +==15834== by 0x1289DB: tmwa::ast::npc::npcast_scriptmap_Test::TestBody() (npc_test.cpp:470) +==15834== by 0x179729: HandleSehExceptionsInMethodIfSupported (gtest.cc:2402) +==15834== by 0x179729: void testing::internal::HandleExceptionsInMethodIfSupported(testing::Test*, void (testing::Test::*)(), char const*) (gtest.cc:2438) +==15834== by 0x16B0BB: testing::Test::Run() [clone .part.595] (gtest.cc:2474) +==15834== by 0x16B354: Run (gtest.cc:2466) +==15834== by 0x16B354: testing::TestInfo::Run() [clone .part.596] (gtest.cc:2656) +==15834== by 0x16B4D3: Run (gtest.cc:2631) +==15834== by 0x16B4D3: testing::TestCase::Run() [clone .part.597] (gtest.cc:2776) +==15834== by 0x172912: Run (gtest.cc:2762) +==15834== by 0x172912: testing::internal::UnitTestImpl::RunAllTests() (gtest.cc:4651) +==15834== by 0x179C09: HandleSehExceptionsInMethodIfSupported (gtest.cc:2402) +==15834== by 0x179C09: bool testing::internal::HandleExceptionsInMethodIfSupported(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) (gtest.cc:2438) +==15834== by 0x16B667: testing::UnitTest::Run() (gtest.cc:4259) +==15834== by 0x11B1D8: RUN_ALL_TESTS (gtest.h:2233) +==15834== by 0x11B1D8: main (gtest_main.cc:37) +==15834== +==15834== Open file descriptor 1: /mnt/c/tmwAthena/tmwa/out +==15834== +==15834== +==15834== +==15834== HEAP SUMMARY: +==15834== in use at exit: 0 bytes in 0 blocks +==15834== total heap usage: 2,028 allocs, 2,028 frees, 440,764 bytes allocated +==15834== +==15834== All heap blocks were freed -- no leaks are possible +==15834== +==15834== For counts of detected and suppressed errors, rerun with: -v +==15834== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) +==15926== error calling PR_SET_PTRACER, vgdb might block +gdb -return-child-result -nx -batch -ex 'python file_to_load = "bin/tests/dtest-map-script-persist.elf"' -x ./tools/debug-debug.gdb --args false bin/tests/dtest-map-script-persist.elf +touch stamp/run-gtest-ast--npc.stamp +==15927== error calling PR_SET_PTRACER, vgdb might block +gdb -return-child-result -nx -batch -ex 'python file_to_load = "bin/tests/dtest-mmo-ids.elf"' -x ./tools/debug-debug.gdb --args false bin/tests/dtest-mmo-ids.elf +==15929== error calling PR_SET_PTRACER, vgdb might block +Running main() from gtest_main.cc +[==========] Running 7 tests from 2 test cases. +[----------] Global test environment set-up. +[----------] 3 tests from ip4addr +[ RUN ] ip4addr.cmp +gdb -return-child-result -nx -batch -ex 'python file_to_load = "bin/tests/dtest-mmo-strs.elf"' -x ./tools/debug-debug.gdb --args false bin/tests/dtest-mmo-strs.elf +[ OK ] ip4addr.cmp (5 ms) +[ RUN ] ip4addr.str +[ OK ] ip4addr.str (14 ms) +[ RUN ] ip4addr.extract +gdb -return-child-result -nx -batch -ex 'python file_to_load = "bin/tests/dtest-net-ip.elf"' -x ./tools/debug-debug.gdb --args false bin/tests/dtest-net-ip.elf +[ OK ] ip4addr.extract (24 ms) +[----------] 3 tests from ip4addr (49 ms total) + +[----------] 4 tests from ip4mask +[ RUN ] ip4mask.body +[ OK ] ip4mask.body (3 ms) +[ RUN ] ip4mask.str +[ OK ] ip4mask.str (8 ms) +[ RUN ] ip4mask.extract +[ OK ] ip4mask.extract (107 ms) +[ RUN ] ip4mask.cover +==15937== error calling PR_SET_PTRACER, vgdb might block +[ OK ] ip4mask.cover (34 ms) +[----------] 4 tests from ip4mask (153 ms total) + +[----------] Global test environment tear-down +[==========] 7 tests from 2 test cases ran. (227 ms total) +[ PASSED ] 7 tests. +==15897== +==15897== FILE DESCRIPTORS: 3 open at exit. +==15897== Open file descriptor 0: +==15897== +==15897== +==15897== Open file descriptor 2: /mnt/c/tmwAthena/tmwa/out +==15897== +==15897== +==15897== Open file descriptor 1: /mnt/c/tmwAthena/tmwa/out +==15897== +==15897== +==15897== +==15897== HEAP SUMMARY: +==15897== in use at exit: 0 bytes in 0 blocks +==15897== total heap usage: 214 allocs, 214 frees, 111,540 bytes allocated +==15897== +==15897== All heap blocks were freed -- no leaks are possible +==15897== +==15897== For counts of detected and suppressed errors, rerun with: -v +==15897== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) +touch stamp/run-gtest-net--ip.stamp +gdb -return-child-result -nx -batch -ex 'python file_to_load = "bin/tests/dtest-net-timer.elf"' -x ./tools/debug-debug.gdb --args false bin/tests/dtest-net-timer.elf +Added 4+2 custom printers for /mnt/c/tmwAthena/tmwa/bin/tests/dtest-ints-wrap.elf +Added 4+2 custom printers for /mnt/c/tmwAthena/tmwa/bin/tests/dtest-generic-dumb_ptr.elf +Added 5+2 custom printers for /mnt/c/tmwAthena/tmwa/bin/tests/dtest-compat-borrow.elf +Added 5+2 custom printers for /mnt/c/tmwAthena/tmwa/bin/tests/dtest-compat-option.elf +Added 10+2 custom printers for /mnt/c/tmwAthena/tmwa/bin/tests/dtest-map-mapflag.elf +Added 18+2 custom printers for /mnt/c/tmwAthena/tmwa/bin/tests/dtest-mmo-ids.elf +Added 18+2 custom printers for /mnt/c/tmwAthena/tmwa/bin/tests/dtest-mmo-strs.elf +Added 11+2 custom printers for /mnt/c/tmwAthena/tmwa/bin/tests/dtest-net-ip.elf +Added 11+2 custom printers for /mnt/c/tmwAthena/tmwa/bin/tests/dtest-net-timer.elf +Running main() from gtest_main.cc +[==========] Running 3 tests from 1 test case. +[----------] Global test environment set-up. +[----------] 3 tests from sexpr +[ RUN ] sexpr.escape +[ OK ] sexpr.escape (30 ms) +[ RUN ] sexpr.lexer +Running main() from gtest_main.cc +[==========] Running 3 tests from 1 test case. +[ OK ] sexpr.lexer (49 ms) +[ RUN ] sexpr.lexbad +[----------] Global test environment set-up. +[----------] 3 tests from sexpr +[ RUN ] sexpr.parser +[ OK ] sexpr.lexbad (22 ms) +[----------] 3 tests from sexpr (107 ms total) + +[----------] Global test environment tear-down +[==========] 3 tests from 1 test case ran. (132 ms total) +[ PASSED ] 3 tests. +Added 38+2 custom printers for /mnt/c/tmwAthena/tmwa/bin/tests/dtest-map-map.elf +Added 38+2 custom printers for /mnt/c/tmwAthena/tmwa/bin/tests/dtest-map-script-persist.elf +==15903== +==15903== FILE DESCRIPTORS: 3 open at exit. +==15903== Open file descriptor 0: +==15903== +==15903== +==15903== Open file descriptor 2: /dev/null +==15903== at 0x54ED9A7: dup2 (syscall-template.S:78) +==15903== by 0x119E4A: tmwa::io::FD::dup2(tmwa::io::FD) (fd.cpp:185) +==15903== by 0x115CE5: ~ReplaceFd (fdhack.hpp:47) +==15903== by 0x115CE5: ~QuietFd (fdhack.hpp:51) +==15903== by 0x115CE5: tmwa::sexpr_lexbad_Test::TestBody() (lexer_test.cpp:104) +==15903== by 0x13FB29: HandleSehExceptionsInMethodIfSupported (gtest.cc:2402) +==15903== by 0x13FB29: void testing::internal::HandleExceptionsInMethodIfSupported(testing::Test*, void (testing::Test::*)(), char const*) (gtest.cc:2438) +==15903== by 0x1314BB: testing::Test::Run() [clone .part.595] (gtest.cc:2474) +==15903== by 0x131754: Run (gtest.cc:2466) +==15903== by 0x131754: testing::TestInfo::Run() [clone .part.596] (gtest.cc:2656) +==15903== by 0x1318D3: Run (gtest.cc:2631) +==15903== by 0x1318D3: testing::TestCase::Run() [clone .part.597] (gtest.cc:2776) +==15903== by 0x138D12: Run (gtest.cc:2762) +==15903== by 0x138D12: testing::internal::UnitTestImpl::RunAllTests() (gtest.cc:4651) +==15903== by 0x140009: HandleSehExceptionsInMethodIfSupported (gtest.cc:2402) +==15903== by 0x140009: bool testing::internal::HandleExceptionsInMethodIfSupported(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) (gtest.cc:2438) +==15903== by 0x131A67: testing::UnitTest::Run() (gtest.cc:4259) +==15903== by 0x113708: RUN_ALL_TESTS (gtest.h:2233) +==15903== by 0x113708: main (gtest_main.cc:37) +==15903== +==15903== Open file descriptor 1: /mnt/c/tmwAthena/tmwa/out +==15903== +==15903== +==15903== +==15903== HEAP SUMMARY: +==15903== in use at exit: 0 bytes in 0 blocks +==15903== total heap usage: 248 allocs, 248 frees, 124,388 bytes allocated +==15903== +==15903== All heap blocks were freed -- no leaks are possible +==15903== +==15903== For counts of detected and suppressed errors, rerun with: -v +==15903== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) +[ OK ] sexpr.parser (50 ms) +[ RUN ] sexpr.parselist +Added 38+2 custom printers for /mnt/c/tmwAthena/tmwa/bin/tests/dtest-map-script-parse.elf +[ OK ] sexpr.parselist (11 ms) +[ RUN ] sexpr.parsebad +touch stamp/run-gtest-sexpr--lexer.stamp +[ OK ] sexpr.parsebad (29 ms) +[----------] 3 tests from sexpr (97 ms total) + +[----------] Global test environment tear-down +Running main() from gtest_main.cc +[==========] Running 1 test from 1 test case. +[==========] 3 tests from 1 test case ran. (121 ms total) +[ PASSED ] 3 tests. +[----------] Global test environment set-up. +[----------] 1 test from strings +[ RUN ] strings.contains +[ OK ] strings.contains (8 ms) +[----------] 1 test from strings (13 ms total) + +[----------] Global test environment tear-down +[==========] 1 test from 1 test case ran. (37 ms total) +[ PASSED ] 1 test. +==15905== +==15905== FILE DESCRIPTORS: 3 open at exit. +==15905== Open file descriptor 0: +==15905== +==15905== +==15905== Open file descriptor 2: /dev/null +==15905== at 0x54ED9A7: dup2 (syscall-template.S:78) +==15905== by 0x11ACEA: tmwa::io::FD::dup2(tmwa::io::FD) (fd.cpp:185) +==15905== by 0x1158B4: ~ReplaceFd (fdhack.hpp:47) +==15905== by 0x1158B4: ~QuietFd (fdhack.hpp:51) +==15905== by 0x1158B4: tmwa::sexpr_parsebad_Test::TestBody() (parser_test.cpp:79) +==15905== by 0x141D29: HandleSehExceptionsInMethodIfSupported (gtest.cc:2402) +==15905== by 0x141D29: void testing::internal::HandleExceptionsInMethodIfSupported(testing::Test*, void (testing::Test::*)(), char const*) (gtest.cc:2438) +==15905== by 0x1336BB: testing::Test::Run() [clone .part.595] (gtest.cc:2474) +==15905== by 0x133954: Run (gtest.cc:2466) +==15905== by 0x133954: testing::TestInfo::Run() [clone .part.596] (gtest.cc:2656) +==15905== by 0x133AD3: Run (gtest.cc:2631) +==15905== by 0x133AD3: testing::TestCase::Run() [clone .part.597] (gtest.cc:2776) +==15905== by 0x13AF12: Run (gtest.cc:2762) +==15905== by 0x13AF12: testing::internal::UnitTestImpl::RunAllTests() (gtest.cc:4651) +==15905== by 0x142209: HandleSehExceptionsInMethodIfSupported (gtest.cc:2402) +==15905== by 0x142209: bool testing::internal::HandleExceptionsInMethodIfSupported(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) (gtest.cc:2438) +==15905== by 0x133C67: testing::UnitTest::Run() (gtest.cc:4259) +==15905== by 0x1139C8: RUN_ALL_TESTS (gtest.h:2233) +==15905== by 0x1139C8: main (gtest_main.cc:37) +==15905== +==15905== Open file descriptor 1: /mnt/c/tmwAthena/tmwa/out +==15905== +==15905== +==15905== +==15905== HEAP SUMMARY: +==15905== in use at exit: 0 bytes in 0 blocks +==15905== total heap usage: 281 allocs, 281 frees, 126,863 bytes allocated +==15905== +==15905== All heap blocks were freed -- no leaks are possible +==15905== +==15905== For counts of detected and suppressed errors, rerun with: -v +==15905== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) +Running main() from gtest_main.cc +[==========] Running 3 tests from 1 test case. +[----------] Global test environment set-up. +Running main() from gtest_main.cc +[==========] Running 0 tests from 0 test cases. +[----------] 3 tests from variant +Running main() from gtest_main.cc +[==========] Running 5 tests from 2 test cases. +[ RUN ] variant.match +[----------] Global test environment set-up. +[==========] 0 tests from 0 test cases ran. (29 ms total) +[ PASSED ] 0 tests. +[----------] 4 tests from StringTests +[ RUN ] StringTests.traits2 +touch stamp/run-gtest-sexpr--parser.stamp +==15926== +==15926== FILE DESCRIPTORS: 3 open at exit. +==15926== Open file descriptor 0: +==15926== +==15926== +==15926== Open file descriptor 2: /mnt/c/tmwAthena/tmwa/out +==15926== +==15926== +==15926== Open file descriptor 1: /mnt/c/tmwAthena/tmwa/out +==15926== +==15926== +==15926== +==15926== HEAP SUMMARY: +==15926== in use at exit: 0 bytes in 0 blocks +==15926== total heap usage: 145 allocs, 145 frees, 104,294 bytes allocated +==15926== +==15926== All heap blocks were freed -- no leaks are possible +==15926== +==15926== For counts of detected and suppressed errors, rerun with: -v +==15926== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) +[ OK ] variant.match (14 ms) +gdb -return-child-result -nx -batch -ex 'python file_to_load = "bin/tests/dtest-sexpr-parser.elf"' -x ./tools/debug-debug.gdb --args false bin/tests/dtest-sexpr-parser.elf +[ RUN ] variant.copymove1 +[ OK ] variant.copymove1 (0 ms) +[ RUN ] variant.copymove2 +[ OK ] variant.copymove2 (0 ms) +[----------] 3 tests from variant (22 ms total) + +[----------] Global test environment tear-down +[==========] 3 tests from 1 test case ran. (46 ms total) +[ PASSED ] 3 tests. +touch stamp/run-gtest-strings--base.stamp +==15923== +==15923== FILE DESCRIPTORS: 3 open at exit. +==15923== Open file descriptor 0: +==15923== +==15923== +==15923== Open file descriptor 2: /mnt/c/tmwAthena/tmwa/out +==15923== +==15923== +==15923== Open file descriptor 1: /mnt/c/tmwAthena/tmwa/out +==15923== +==15923== +==15923== +==15923== HEAP SUMMARY: +==15923== in use at exit: 0 bytes in 0 blocks +==15923== total heap usage: 122 allocs, 122 frees, 101,771 bytes allocated +==15923== +==15923== All heap blocks were freed -- no leaks are possible +==15923== +==15923== For counts of detected and suppressed errors, rerun with: -v +==15923== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) +==15929== +==15929== FILE DESCRIPTORS: 3 open at exit. +==15929== Open file descriptor 0: +==15929== +==15929== +==15929== Open file descriptor 2: /mnt/c/tmwAthena/tmwa/out +==15929== +==15929== +==15929== Open file descriptor 1: /mnt/c/tmwAthena/tmwa/out +==15929== +==15929== +==15929== +==15929== HEAP SUMMARY: +==15929== in use at exit: 0 bytes in 0 blocks +==15929== total heap usage: 182 allocs, 182 frees, 108,566 bytes allocated +==15929== +==15929== All heap blocks were freed -- no leaks are possible +==15929== +==15929== For counts of detected and suppressed errors, rerun with: -v +[Inferior 1 (process 15969) exited normally] +==15929== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) +[ OK ] StringTests.traits2 (50 ms) +[ RUN ] StringTests.rempty +touch stamp/run-gtest-sexpr--union.stamp +..[Inferior 1 (process 15970) exited normally] +touch stamp/run-dtest-ints-wrap.stamp +[ OK ] StringTests.rempty (14 ms) +[ RUN ] StringTests.rshort +touch stamp/run-gtest-sexpr--variant.stamp +touch stamp/run-dtest-generic-dumb_ptr.stamp +[ OK ] StringTests.rshort (15 ms) +[ RUN ] StringTests.rlong +[ OK ] StringTests.rlong (8 ms) +[----------] 4 tests from StringTests (94 ms total) + +[----------] 1 test from StringTest +[ RUN ] StringTest.rself +[ OK ] StringTest.rself (2 ms) +[----------] 1 test from StringTest (2 ms total) + +[----------] Global test environment tear-down +[==========] 5 tests from 2 test cases ran. (121 ms total) +[ PASSED ] 5 tests. +gdb -return-child-result -nx -batch -ex 'python file_to_load = "bin/tests/dtest-sexpr-variant.elf"' -x ./tools/debug-debug.gdb --args false bin/tests/dtest-sexpr-variant.elf +gdb -return-child-result -nx -batch -ex 'python file_to_load = "bin/tests/dtest-strings-astring.elf"' -x ./tools/debug-debug.gdb --args false bin/tests/dtest-strings-astring.elf +==15927== +==15927== FILE DESCRIPTORS: 3 open at exit. +==15927== Open file descriptor 0: +==15927== +==15927== +==15927== Open file descriptor 2: /mnt/c/tmwAthena/tmwa/out +==15927== +==15927== +==15927== Open file descriptor 1: /mnt/c/tmwAthena/tmwa/out +==15927== +==15927== +==15927== +==15927== HEAP SUMMARY: +==15927== in use at exit: 0 bytes in 0 blocks +==15927== total heap usage: 200 allocs, 200 frees, 110,012 bytes allocated +==15927== +==15927== All heap blocks were freed -- no leaks are possible +==15927== +==15927== For counts of detected and suppressed errors, rerun with: -v +==15927== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) +touch stamp/run-gtest-strings--strings2.stamp +gdb -return-child-result -nx -batch -ex 'python file_to_load = "bin/tests/dtest-strings-literal.elf"' -x ./tools/debug-debug.gdb --args false bin/tests/dtest-strings-literal.elf +gdb -return-child-result -nx -batch -ex 'python file_to_load = "bin/tests/dtest-strings-rstring.elf"' -x ./tools/debug-debug.gdb --args false bin/tests/dtest-strings-rstring.elf +gdb -return-child-result -nx -batch -ex 'python file_to_load = "bin/tests/dtest-strings-vstring.elf"' -x ./tools/debug-debug.gdb --args false bin/tests/dtest-strings-vstring.elf +.[Inferior 1 (process 15971) exited normally] +gdb -return-child-result -nx -batch -ex 'python file_to_load = "bin/tests/dtest-strings-xstring.elf"' -x ./tools/debug-debug.gdb --args false bin/tests/dtest-strings-xstring.elf +touch stamp/run-dtest-compat-borrow.stamp +gdb -return-child-result -nx -batch -ex 'python file_to_load = "bin/tests/dtest-strings-zstring.elf"' -x ./tools/debug-debug.gdb --args false bin/tests/dtest-strings-zstring.elf +Added 10+2 custom printers for /mnt/c/tmwAthena/tmwa/bin/tests/dtest-sexpr-parser.elf +Added 4+2 custom printers for /mnt/c/tmwAthena/tmwa/bin/tests/dtest-sexpr-variant.elf +Added 9+2 custom printers for /mnt/c/tmwAthena/tmwa/bin/tests/dtest-strings-astring.elf +Added 4+2 custom printers for /mnt/c/tmwAthena/tmwa/bin/tests/dtest-strings-literal.elf +Added 9+2 custom printers for /mnt/c/tmwAthena/tmwa/bin/tests/dtest-strings-vstring.elf +Added 9+2 custom printers for /mnt/c/tmwAthena/tmwa/bin/tests/dtest-strings-xstring.elf +Added 9+2 custom printers for /mnt/c/tmwAthena/tmwa/bin/tests/dtest-strings-rstring.elf +Added 9+2 custom printers for /home/m/.local/lib/libtmwa-shared.so.0 +Added 9+2 custom printers for /home/m/.local/lib/libtmwa-shared.so.0 +Running main() from gtest_main.cc +[==========] Running 41 tests from 13 test cases. +[----------] Global test environment set-up. +Added 9+2 custom printers for /mnt/c/tmwAthena/tmwa/bin/tests/dtest-strings-zstring.elf +[----------] 5 tests from StringStuff/StringTest/0, where TypeParam = tmwa::strings::RString +[ RUN ] StringStuff/StringTest/0.basic +[ OK ] StringStuff/StringTest/0.basic (11 ms) +[ RUN ] StringStuff/StringTest/0.order +[ OK ] StringStuff/StringTest/0.order (27 ms) +[ RUN ] StringStuff/StringTest/0.iterators +[ OK ] StringStuff/StringTest/0.iterators (2 ms) +[ RUN ] StringStuff/StringTest/0.xslice +[ OK ] StringStuff/StringTest/0.xslice (12 ms) +[ RUN ] StringStuff/StringTest/0.convert +[ OK ] StringStuff/StringTest/0.convert (36 ms) +[----------] 5 tests from StringStuff/StringTest/0 (94 ms total) + +[----------] 5 tests from StringStuff/StringTest/1, where TypeParam = tmwa::strings::AString +[ RUN ] StringStuff/StringTest/1.basic +[ OK ] StringStuff/StringTest/1.basic (5 ms) +[ RUN ] StringStuff/StringTest/1.order +[ OK ] StringStuff/StringTest/1.order (27 ms) +Added 9+2 custom printers for /home/m/.local/lib/libtmwa-shared.so.0 +[ RUN ] StringStuff/StringTest/1.iterators +[ OK ] StringStuff/StringTest/1.iterators (2 ms) +[ RUN ] StringStuff/StringTest/1.xslice +........[ OK ] StringStuff/StringTest/1.xslice (17 ms) +[ RUN ] StringStuff/StringTest/1.convert +...[Inferior 1 (process 15974) exited normally] +......[Inferior 1 (process 15979) exited normally] +touch stamp/run-dtest-mmo-ids.stamp +touch stamp/run-dtest-mmo-strs.stamp +[ OK ] StringStuff/StringTest/1.convert (59 ms) +[----------] 5 tests from StringStuff/StringTest/1 (110 ms total) + +[----------] 5 tests from StringStuff/StringTest/2, where TypeParam = tmwa::strings::TString +[ RUN ] StringStuff/StringTest/2.basic +[ OK ] StringStuff/StringTest/2.basic (12 ms) +[ RUN ] StringStuff/StringTest/2.order +.[Inferior 1 (process 15975) exited normally] +[ OK ] StringStuff/StringTest/2.order (46 ms) +[ RUN ] StringStuff/StringTest/2.iterators +[ OK ] StringStuff/StringTest/2.iterators (3 ms) +[ RUN ] StringStuff/StringTest/2.xslice +touch stamp/run-dtest-net-ip.stamp +[ OK ] StringStuff/StringTest/2.xslice (9 ms) +[ RUN ] StringStuff/StringTest/2.convert +..................[ OK ] StringStuff/StringTest/2.convert (29 ms) +.[----------] 5 tests from StringStuff/StringTest/2 (99 ms total) + +.[----------] 5 tests from StringStuff/StringTest/3, where TypeParam = tmwa::strings::SString +[ RUN ] StringStuff/StringTest/3.basic +......[Inferior 1 (process 15972) exited normally] +..[ OK ] StringStuff/StringTest/3.basic (5 ms) +[ RUN ] StringStuff/StringTest/3.order +.................touch stamp/run-dtest-compat-option.stamp +........................[ OK ] StringStuff/StringTest/3.order (27 ms) +[ RUN ] StringStuff/StringTest/3.iterators +....[ OK ] StringStuff/StringTest/3.iterators (2 ms) +[ RUN ] StringStuff/StringTest/3.xslice +.[Inferior 1 (process 15973) exited normally] +.......[ OK ] StringStuff/StringTest/3.xslice (10 ms) +[ RUN ] StringStuff/StringTest/3.convert +...touch stamp/run-dtest-map-mapflag.stamp +.........[Inferior 1 (process 15981) exited normally] +[ OK ] StringStuff/StringTest/3.convert (28 ms) +[----------] 5 tests from StringStuff/StringTest/3 (73 ms total) + +[----------] 5 tests from StringStuff/StringTest/4, where TypeParam = tmwa::strings::ZString +[ RUN ] StringStuff/StringTest/4.basic +touch stamp/run-dtest-net-timer.stamp +[ OK ] StringStuff/StringTest/4.basic (5 ms) +[ RUN ] StringStuff/StringTest/4.order +[ OK ] StringStuff/StringTest/4.order (27 ms) +[ RUN ] StringStuff/StringTest/4.iterators +[ OK ] StringStuff/StringTest/4.iterators (2 ms) +[ RUN ] StringStuff/StringTest/4.xslice +[ OK ] StringStuff/StringTest/4.xslice (8 ms) +[ RUN ] StringStuff/StringTest/4.convert +[ OK ] StringStuff/StringTest/4.convert (18 ms) +[----------] 5 tests from StringStuff/StringTest/4 (61 ms total) + +[----------] 5 tests from StringStuff/StringTest/5, where TypeParam = tmwa::strings::XString +[ RUN ] StringStuff/StringTest/5.basic +[ OK ] StringStuff/StringTest/5.basic (4 ms) +[ RUN ] StringStuff/StringTest/5.order +[ OK ] StringStuff/StringTest/5.order (27 ms) +[ RUN ] StringStuff/StringTest/5.iterators +[ OK ] StringStuff/StringTest/5.iterators (2 ms) +[ RUN ] StringStuff/StringTest/5.xslice +..[ OK ] StringStuff/StringTest/5.xslice (9 ms) +[ RUN ] StringStuff/StringTest/5.convert +[Inferior 1 (process 16056) exited normally] +touch stamp/run-dtest-strings-literal.stamp +[ OK ] StringStuff/StringTest/5.convert (19 ms) +[----------] 5 tests from StringStuff/StringTest/5 (62 ms total) + +[----------] 5 tests from StringStuff/StringTest/6, where TypeParam = tmwa::strings::VString<(unsigned char)255> +[ RUN ] StringStuff/StringTest/6.basic +[ OK ] StringStuff/StringTest/6.basic (6 ms) +[ RUN ] StringStuff/StringTest/6.order +[ OK ] StringStuff/StringTest/6.order (31 ms) +[ RUN ] StringStuff/StringTest/6.iterators +[ OK ] StringStuff/StringTest/6.iterators (1 ms) +[ RUN ] StringStuff/StringTest/6.xslice +[ OK ] StringStuff/StringTest/6.xslice (6 ms) +[ RUN ] StringStuff/StringTest/6.convert +[ OK ] StringStuff/StringTest/6.convert (39 ms) +[----------] 5 tests from StringStuff/StringTest/6 (85 ms total) + +[----------] 1 test from VStringTest +[ RUN ] VStringTest.basic +[ OK ] VStringTest.basic (5 ms) +[----------] 1 test from VStringTest (5 ms total) + +[----------] 1 test from NulStringStuff/NulStringTest/0, where TypeParam = tmwa::strings::RString +[ RUN ] NulStringStuff/NulStringTest/0.basic +[ OK ] NulStringStuff/NulStringTest/0.basic (2 ms) +[----------] 1 test from NulStringStuff/NulStringTest/0 (3 ms total) + +[----------] 1 test from NulStringStuff/NulStringTest/1, where TypeParam = tmwa::strings::AString +[ RUN ] NulStringStuff/NulStringTest/1.basic +[ OK ] NulStringStuff/NulStringTest/1.basic (2 ms) +[----------] 1 test from NulStringStuff/NulStringTest/1 (2 ms total) + +[----------] 1 test from NulStringStuff/NulStringTest/2, where TypeParam = tmwa::strings::TString +[ RUN ] NulStringStuff/NulStringTest/2.basic +[ OK ] NulStringStuff/NulStringTest/2.basic (2 ms) +[----------] 1 test from NulStringStuff/NulStringTest/2 (2 ms total) + +[----------] 1 test from NulStringStuff/NulStringTest/3, where TypeParam = tmwa::strings::ZString +[ RUN ] NulStringStuff/NulStringTest/3.basic +[ OK ] NulStringStuff/NulStringTest/3.basic (1 ms) +[----------] 1 test from NulStringStuff/NulStringTest/3 (1 ms total) + +[----------] 1 test from NulStringStuff/NulStringTest/4, where TypeParam = tmwa::strings::VString<(unsigned char)255> +[ RUN ] NulStringStuff/NulStringTest/4.basic +[ OK ] NulStringStuff/NulStringTest/4.basic (2 ms) +[----------] 1 test from NulStringStuff/NulStringTest/4 (2 ms total) + +[----------] Global test environment tear-down +[==========] 41 tests from 13 test cases ran. (634 ms total) +[ PASSED ] 41 tests. +==15937== +==15937== FILE DESCRIPTORS: 3 open at exit. +==15937== Open file descriptor 0: +==15937== +==15937== +==15937== Open file descriptor 2: /mnt/c/tmwAthena/tmwa/out +==15937== +==15937== +==15937== Open file descriptor 1: /mnt/c/tmwAthena/tmwa/out +==15937== +==15937== +==15937== +==15937== HEAP SUMMARY: +==15937== in use at exit: 0 bytes in 0 blocks +==15937== total heap usage: 1,363 allocs, 1,363 frees, 199,485 bytes allocated +==15937== +==15937== All heap blocks were freed -- no leaks are possible +==15937== +==15937== For counts of detected and suppressed errors, rerun with: -v +==15937== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) +touch stamp/run-gtest-strings--strings.stamp +..[Inferior 1 (process 16041) exited normally] +touch stamp/run-dtest-sexpr-variant.stamp +.................[Inferior 1 (process 16007) exited normally] +....[Inferior 1 (process 16040) exited normally] +.......touch stamp/run-dtest-map-map.stamp +..touch stamp/run-dtest-sexpr-parser.stamp +.....[Inferior 1 (process 16045) exited normally] +...touch stamp/run-dtest-strings-astring.stamp +.....[Inferior 1 (process 16006) exited normally] +........[Inferior 1 (process 16059) exited normally] +..touch stamp/run-dtest-map-script-persist.stamp +..[Inferior 1 (process 16061) exited normally] +touch stamp/run-dtest-strings-xstring.stamp +touch stamp/run-dtest-strings-vstring.stamp +..........[Inferior 1 (process 16078) exited normally] +.......touch stamp/run-dtest-strings-zstring.stamp +.[Inferior 1 (process 16062) exited normally] +touch stamp/run-dtest-strings-rstring.stamp +.[Inferior 1 (process 16018) exited normally] +touch stamp/run-dtest-map-script-parse.stamp diff --git a/src/map/clif.cpp b/src/map/clif.cpp index a2f3b3a..7d5ff59 100644 --- a/src/map/clif.cpp +++ b/src/map/clif.cpp @@ -35,6 +35,8 @@ #include "../strings/zstring.hpp" #include "../strings/xstring.hpp" +#include "../generic/random.hpp" + #include "../io/cxxstdio.hpp" #include "../io/extract.hpp" #include "../io/write.hpp" @@ -612,6 +614,13 @@ int clif_clearchar(dumb_ptr bl, BeingRemoveWhy type) type == BeingRemoveWhy::DEAD ? SendWho::AREA : SendWho::AREA_WOS); } + if (bl->bl_type == BL::PC) + { + dumb_ptr sd = bl->is_player(); + if (sd->automod == AutoMod::autoblock) + clif_gm_collision(sd, 0); + } + return 0; } @@ -2499,6 +2508,9 @@ void clif_getareachar_pc(dumb_ptr sd, clif_changelook_accessories(sd, dstsd); clif_changelook_accessories(dstsd, sd); + + if (dstsd->automod == AutoMod::autoblock && pc_issit(dstsd)) + clif_update_collision(sd, dstsd->bl_x, dstsd->bl_y, dstsd->bl_x, dstsd->bl_y, dstsd->bl_m->name_, 5); // BlockType::PLAYERWALL } /*========================================== @@ -2759,6 +2771,9 @@ void clif_pcoutsight(dumb_ptr bl, dumb_ptr sd) { clif_clearchar_id(dstsd->bl_id, BeingRemoveWhy::GONE, sd->sess); clif_clearchar_id(sd->bl_id, BeingRemoveWhy::GONE, dstsd->sess); + + if (dstsd->automod == AutoMod::autoblock) + clif_update_collision(sd, dstsd->bl_x, dstsd->bl_y, dstsd->bl_x, dstsd->bl_y, dstsd->bl_m->name_, 0); } break; case BL::NPC: @@ -3369,6 +3384,61 @@ void clif_sitting(Session *, dumb_ptr sd) fixed_8a.damage_type = DamageType::SIT; Buffer buf = create_fpacket<0x008a, 29>(fixed_8a); clif_send(buf, sd, SendWho::AREA); + + if (sd->automod == AutoMod::autoblock) + clif_gm_collision(sd, 5); + + // Prsm-sitting countermeasures + dumb_ptr d_bl = sd->bl_m->blocks.ref(sd->bl_x / BLOCK_SIZE, sd->bl_y / BLOCK_SIZE).normal; + for (; d_bl; d_bl = d_bl->bl_next) + { + if (d_bl->bl_type == BL::PC && d_bl->bl_x == sd->bl_x && d_bl->bl_y == sd->bl_y && d_bl->bl_id != sd->bl_id) + { + dumb_ptr d_sd = d_bl->is_player(); + + switch (d_sd->automod) + { + case AutoMod::autoblock: + // at this point, this should be impossible, so fallback to kill + case AutoMod::autokill: + pc_damage(nullptr, sd, sd->status.hp); + clif_displaymessage(sd->sess, "The holy messenger has given judgement."_s); + // now fallthrough to move + case AutoMod::automove: + { + unsigned short x0 = std::max(0, sd->bl_x - 5), + y0 = std::max(0, sd->bl_y - 5), + x1 = std::min(sd->bl_m->xs, (short)(sd->bl_x + 5)), + y1 = std::min(sd->bl_m->ys, (short)(sd->bl_y + 5)); + unsigned short x = x0, + y = y0; + + for (unsigned short i = 0; i < 1000; i++) + { + x = random_::in(x0, x1); + y = random_::in(y0, y1); + + if (!bool(map_getcell(sd->bl_m, x, y) & MapCell::UNWALKABLE)) + break; + } + pc_setpos(sd, sd->bl_m->name_, x, y, BeingRemoveWhy::WARPED); + + if (sd->status.hp > 0) + { + // we're still sitting + Packet_Fixed<0x008a> fixed_8a_2; + fixed_8a_2.src_id = sd->bl_id; + fixed_8a_2.damage_type = DamageType::SIT; + Buffer buf2 = create_fpacket<0x008a, 29>(fixed_8a_2); + clif_send(buf2, sd, SendWho::SELF); + } + } + break; + case AutoMod::autokick: + clif_GM_kick(d_sd, sd, 1); + } + } + } } static @@ -4075,6 +4145,25 @@ void clif_remote_command(dumb_ptr sd, XString cmd) clif_send(buf, sd, SendWho::SELF, wrap(6)); } +void clif_gm_collision(dumb_ptr sd, int mask) +{ + nullpo_retv(sd); + + VString<15> gat_name = STRPRINTF("%s.gat"_fmt, sd->bl_m->name_); + + Packet_Fixed<0x0231> fixed_231; + fixed_231.x1 = sd->bl_x; + fixed_231.y1 = sd->bl_y; + fixed_231.x2 = sd->bl_x; + fixed_231.y2 = sd->bl_y; + fixed_231.mask = mask; + fixed_231.unused_layer = 0; + fixed_231.map = gat_name; + Buffer buf = create_fpacket<0x0231, 34>(fixed_231); + + clif_send(buf, sd, SendWho::AREA_WOS, wrap(7)); +} + void clif_update_collision(dumb_ptr sd, short x1, short y1, short x2, short y2, MapName map_name, int mask) { diff --git a/src/map/clif.hpp b/src/map/clif.hpp index 1abcfe3..99baea8 100644 --- a/src/map/clif.hpp +++ b/src/map/clif.hpp @@ -108,6 +108,7 @@ void clif_npc_send_title(Session *s, BlockId npcid, XString msg); void clif_server_message(dumb_ptr, uint8_t, XString msg); void clif_remote_command(dumb_ptr, XString); void clif_update_collision(dumb_ptr, short, short, short, short, MapName, int); +void clif_gm_collision(dumb_ptr, int); void clif_change_music(dumb_ptr sd, XString music); void clif_npc_action(dumb_ptr, BlockId, short, int, short, short); void clif_send_mask(dumb_ptr, int); diff --git a/src/map/map.hpp b/src/map/map.hpp index 60b3462..eddbfad 100644 --- a/src/map/map.hpp +++ b/src/map/map.hpp @@ -121,6 +121,15 @@ struct quick_regeneration unsigned char tickdelay; // number of ticks to next update }; +enum class AutoMod +{ + off = 0, + autokill, + automove, + autoblock, + autokick, +}; + struct map_session_data : block_list, SessionData { struct @@ -298,6 +307,8 @@ struct map_session_data : block_list, SessionData unsigned guild:1; } mute; + AutoMod automod; + tick_t flood_rates[0x220]; tick_t packet_flood_reset_due; int packet_flood_in; diff --git a/src/map/pc.cpp b/src/map/pc.cpp index 3986113..b9b41d9 100644 --- a/src/map/pc.cpp +++ b/src/map/pc.cpp @@ -833,6 +833,8 @@ int pc_authok(AccountId id, int login_id2, ClientVersion client_version, sd->mute.whisper = 0; sd->mute.guild = 0; + sd->automod = AutoMod::off; + for (tick_t& t : sd->flood_rates) t = tick_t(); sd->packet_flood_reset_due = tick_t(); @@ -2414,6 +2416,27 @@ void pc_walk(TimerData *, tick_t tick, BlockId id, unsigned char data) return; } + // Prsm-sitting countermeasures + dumb_ptr d_bl = sd->bl_m->blocks.ref((x + dx) / BLOCK_SIZE, (y + dy) / BLOCK_SIZE).normal; + for (; d_bl; d_bl = d_bl->bl_next) + { + if (d_bl->bl_type == BL::PC && d_bl->bl_x == (x + dx) && d_bl->bl_y == (y + dy)) + { + dumb_ptr d_sd = d_bl->is_player(); + + if (pc_issit(d_sd)) + { + switch (d_sd->automod) + { + case AutoMod::autoblock: + clif_update_collision(sd, x + dx, y + dy, x + dx, y + dy, sd->bl_m->name_, 5); // BlockType::PLAYERWALL + pc_stop_walking(sd, 1); + return; + } + } + } + } + moveblock = (x / BLOCK_SIZE != (x + dx) / BLOCK_SIZE || y / BLOCK_SIZE != (y + dy) / BLOCK_SIZE); @@ -3571,6 +3594,9 @@ int pc_readparam(dumb_ptr bl, SP type) case SP::MUTE_GUILD: val = sd ? sd->mute.guild : 0; break; + case SP::AUTOMOD: + val = sd ? (int)sd->automod : 0; + break; } return val; @@ -3816,6 +3842,10 @@ int pc_setparam(dumb_ptr bl, SP type, int val) nullpo_retz(sd); sd->mute.guild = (val == 1); break; + case SP::AUTOMOD: + nullpo_retz(sd); + sd->automod = (AutoMod)val; + break; } return 0; @@ -5205,6 +5235,9 @@ void pc_setstand(dumb_ptr sd) nullpo_retv(sd); sd->state.dead_sit = 0; + + if (sd->automod == AutoMod::autoblock) + clif_gm_collision(sd, 0); } static diff --git a/src/map/script-fun.cpp b/src/map/script-fun.cpp index ab60535..8c90052 100644 --- a/src/map/script-fun.cpp +++ b/src/map/script-fun.cpp @@ -4637,7 +4637,9 @@ void builtin_getmap(ScriptState *st) else sd = script_rid2sd(st); - nullpo_retv(sd); + if (!sd || !as_raw_pointer(Some(sd->bl_m)) || sd->bl_m == borrow(undefined_gat)) + return; + push_str(st->stack, sd->bl_m->name_); } diff --git a/src/mmo/clif.t.hpp b/src/mmo/clif.t.hpp index 5f07ebd..1d46342 100644 --- a/src/mmo/clif.t.hpp +++ b/src/mmo/clif.t.hpp @@ -480,6 +480,7 @@ enum class SP : uint16_t MUTE_WHISPER = 1083, MUTE_PARTY = 1084, MUTE_GUILD = 1085, + AUTOMOD = 1086, }; constexpr -- cgit v1.2.3-60-g2f50