|
1 # This Source Code Form is subject to the terms of the Mozilla Public |
|
2 # License, v. 2.0. If a copy of the MPL was not distributed with this |
|
3 # file, You can obtain one at http://mozilla.org/MPL/2.0/. |
|
4 |
|
5 # Write out a C++ enum definition whose members are the names of |
|
6 # histograms. The histograms are defined in a file provided as a |
|
7 # command-line argument. |
|
8 |
|
9 import sys |
|
10 import histogram_tools |
|
11 |
|
12 banner = """/* This file is auto-generated, see gen-histogram-enum.py. */ |
|
13 """ |
|
14 |
|
15 def main(argv): |
|
16 filename = argv[0] |
|
17 |
|
18 print banner |
|
19 print "enum ID {" |
|
20 for histogram in histogram_tools.from_file(filename): |
|
21 cpp_guard = histogram.cpp_guard() |
|
22 if cpp_guard: |
|
23 print "#if defined(%s)" % cpp_guard |
|
24 print " %s," % histogram.name() |
|
25 if cpp_guard: |
|
26 print "#endif" |
|
27 print " HistogramCount" |
|
28 print "};" |
|
29 |
|
30 main(sys.argv[1:]) |