#!/usr/bin/env python3
#
# Copyright (c) 2019-2020 Arm Limited. All rights reserved.
#
# SPDX-License-Identifier: BSD-3-Clause
#

import subprocess

def exec_prog(prog, args=[], out=None, out_text_mode=False):
    # Build the command line to execute
    cmd = [ prog ] + args

    # Spawn process.
    # Note: The standard error output is captured into the same file handle as
    # for stdout.
    process = subprocess.Popen(cmd, stdout=out, stderr=subprocess.STDOUT,
                               universal_newlines=out_text_mode, bufsize=0)
    print("Spawned process with PID %u" % process.pid)
    return process
