probes/trace-gen.py
author Mike Hommey <mh+mozilla@glandium.org>
Tue, 22 Mar 2016 14:03:26 +0900
changeset 289943 aa4bcd9eadcb994886c14fd96d53aabeffe3f31c
parent 287114 dd46a77cdf656048cce156d66fe0988e2e34ba84
permissions -rw-r--r--
Bug 1258618 - Serialize substs/configs and defines bools as '1' or '' in config.status. r=nalexander This allows to use True and False as values given to set_config/set_define in moz.configure files, while postponing having to deal with the long tail of things depending on the values from substs and defines. Ideally, everything would handle the bools just fine, but there are too many things involved to deal with this right now: scripts using buildconfig.{substs,defines}, scripts using ConfigEnvironment (e.g. process_define_files.py), ConfigEnvironment itself, etc.

# 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)