From d8255d99ca6474b23f101bfdbafead3497c6de55 Mon Sep 17 00:00:00 2001 From: Ms2ger Date: Mon, 7 Mar 2016 14:59:13 +0100 Subject: [PATCH] Bug 1253622 - Move the mozilla-trace.h generation into moz.build; r=ted --- probes/Makefile.in | 14 -------------- probes/moz.build | 12 ++++++++++++ probes/trace-gen.py | 15 +++++++++++++++ 3 files changed, 27 insertions(+), 14 deletions(-) delete mode 100644 probes/Makefile.in create mode 100644 probes/trace-gen.py diff --git a/probes/Makefile.in b/probes/Makefile.in deleted file mode 100644 index deec83f654af..000000000000 --- a/probes/Makefile.in +++ /dev/null @@ -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 diff --git a/probes/moz.build b/probes/moz.build index 895d11993cfb..83bc93b54532 100644 --- a/probes/moz.build +++ b/probes/moz.build @@ -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'] diff --git a/probes/trace-gen.py b/probes/trace-gen.py new file mode 100644 index 000000000000..586ad01f8e5e --- /dev/null +++ b/probes/trace-gen.py @@ -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)