buildtools: support object file extraction for Windows
[dpdk.git] / buildtools / gen-pmdinfo-cfile.py
1 #!/usr/bin/env python3
2 # SPDX-License-Identifier: BSD-3-Clause
3 # Copyright (c) 2020 Dmitry Kozlyuk <dmitry.kozliuk@gmail.com>
4
5 import os
6 import subprocess
7 import sys
8 import tempfile
9
10 _, ar, archive, output, *pmdinfogen = sys.argv
11 with tempfile.TemporaryDirectory() as temp:
12     proc = subprocess.run(
13         # Don't use "ar p", because its output is corrupted on Windows.
14         [ar, "xv", os.path.abspath(archive)], capture_output=True, check=True, cwd=temp
15     )
16     lines = proc.stdout.decode().splitlines()
17     names = [line[len("x - ") :] for line in lines]
18     paths = [os.path.join(temp, name) for name in names]
19     subprocess.run(pmdinfogen + paths + [output], check=True)