blob: c3ed1d9a744a89c422a39909ce46c2f5bd590a1e [file] [log] [blame]
# Copyright 2015 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
import os
import sys
arches = ['i386', 'x86-64']
goldens = {}
for fn in sys.argv[2:]:
dir, name = fn.split('/')[-2:]
name = name.rstrip('.txt')
golden = goldens.setdefault(name, [None] * len(arches))
idx = arches.index(dir)
golden[idx] = open(fn).read()
with open(sys.argv[1], 'w') as f:
f.write("""// Generated by sandbox/linux/bpf_dsl/golden/generate.py
#ifndef SANDBOX_LINUX_BPF_DSL_GOLDEN_GOLDEN_FILES_H_
#define SANDBOX_LINUX_BPF_DSL_GOLDEN_GOLDEN_FILES_H_
namespace sandbox {
namespace bpf_dsl {
namespace golden {
struct Golden {
const char* i386_dump;
const char* x86_64_dump;
};
""")
for name, datas in sorted(goldens.items()):
f.write("const Golden k%s = {\n" % name)
for data in datas:
if data is None:
f.write(" nullptr,\n")
else:
f.write(" \"%s\",\n" % data.replace("\n", "\\n\\\n"))
f.write("};\n\n")
f.write("""\
} // namespace golden
} // namespace bpf_dsl
} // namespace sandbox
#endif // SANDBOX_LINUX_BPF_DSL_GOLDEN_GOLDEN_FILES_H_
""")