Bug 1253622 - Move the mozilla-trace.h generation into moz.build; r=ted

This commit is contained in:
Ms2ger 2016-03-07 14:59:13 +01:00
Родитель c916e5cefe
Коммит d8255d99ca
3 изменённых файлов: 27 добавлений и 14 удалений

Просмотреть файл

@ -1,14 +0,0 @@
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
ifdef HAVE_DTRACE
export:: $(DIST)/include/mozilla-trace.h
# Replace _DTRACE_VERSION with INCLUDE_MOZILLA_DTRACE
$(DIST)/include/mozilla-trace.h: mozilla-trace.d Makefile
dtrace -x nolibs -h -s $(srcdir)/mozilla-trace.d -o mozilla-trace.h.tmp
sed -e 's/if _DTRACE_VERSION/ifdef INCLUDE_MOZILLA_DTRACE/' \
mozilla-trace.h.tmp > $(DIST)/include/mozilla-trace.h
rm mozilla-trace.h.tmp
endif

Просмотреть файл

@ -4,3 +4,15 @@
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
if CONFIG['HAVE_DTRACE']:
EXPORTS += [
'!mozilla-trace.h',
]
GENERATED_FILES += [
'mozilla-trace.h',
]
trace = GENERATED_FILES['mozilla-trace.h']
trace.script = 'trace-gen.py'
trace.inputs += ['mozilla-trace.d']

15
probes/trace-gen.py Normal file
Просмотреть файл

@ -0,0 +1,15 @@
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
import os
import subprocess
def main(fp, input):
temporary_file = 'mozilla-trace.h.tmp'
subprocess.check_call(['dtrace', '-x', 'nolibs', '-h', '-s', input, '-o', temporary_file])
with open(temporary_file, 'r') as temporary_fp:
output = temporary_fp.read()
fp.write(output.replace('if _DTRACE_VERSION', 'ifdef INCLUDE_MOZILLA_DTRACE'))
os.remove(temporary_file)